(Win32平台的c + +)使用__try和__finally,我怎样才能得到exception的原因模块名称(和地址)? 我打电话给GetExceptionInformation(),但我不知道这个信息是在哪里。
鉴于其他在线和MSDN的资源,Minidump处理程序和其他示例代码似乎能够得到它,但我不知道如何。
任何参考或更多的启发资源,赞赏。
EXCEPTION_POINTERS提供的EXCEPTION_RECORD记录包括发生异常的地址。 然后,您可以使用EnumProcessmodulees()和GetmoduleeInformation()来定位异常地址所在的模块,然后使用GetmoduleeFileNameEx()来获取该模块的文件名。
你需要按照这个CodeProject文章中的描述来遍历这个调用堆栈。
你可以使用Jochen的代码,或者尝试收集足够的细节来提取你想要的信息。