如何在顶级过滤器中获取Win32崩溃的字符串描述(我正在寻找堆栈顶部指令的地址)

Tim*_*Tim 6 c++ winapi minidump exception-handling crash-dumps

如果我使用类似于此处描述的类/方法,如何在堆栈顶部获取调用的描述/地址?

基本上我想要一些我可以在调用我们的bug跟踪系统时使用的值.我想根据导致异常的指令的地址"唯一地"识别.

(它通常是mydll.dll的形式!1234ABDC())

编辑:

一些背景资料:

我正在创建一个minidump,通过电子邮件发送到缺陷跟踪系统(fogbugz).为了减少重复,我试图为崩溃提出一个合理的"签名".我知道FB有一个xml PI,但它需要用户登录,我们还不确定我们是否有能力让人们嗅探我们的流量并获取用户信息.电子邮件现在也很容易实现.稍后我们将使用XML API提交minidump.

sho*_*osh 1

EXCEPTION_POINTERS发送到的结构包含TopLevelFilter()一个EXCEPTION_RECORD包含ExceptionAddress. 您可以通过使用CreateToolhelp32Snapshot枚举模块来找出该地址中的违规操作码在哪个 DLL 中。您还可以使用中的函数dbghelp.dll来查找与地址相对应的符号(它所在的函数)