如何得到导致结构exception的模块名称_EXCEPTION_POINTERS结构? (win32 C ++)

(Win32平台的c + +)使用__try和__finally,我怎样才能得到exception的原因模块名称(和地址)? 我打电话给GetExceptionInformation(),但我不知道这个信息是在哪里。

鉴于其他在线和MSDN的资源,Minidump处理程序和其他示例代码似乎能够得到它,但我不知道如何。

任何参考或更多的启发资源,赞赏。

EXCEPTION_POINTERS提供的EXCEPTION_RECORD记录包括发生异常的地址。 然后,您可以使用EnumProcessmodulees()和GetmoduleeInformation()来定位异常地址所在的模块,然后使用GetmoduleeFileNameEx()来获取该模块的文件名。

你需要按照这个CodeProject文章中的描述来遍历这个调用堆栈。

你可以使用Jochen的代码,或者尝试收集足够的细节来提取你想要的信息。