【发布时间】:2009-07-07 13:42:38
【问题描述】:
时不时地(咳咳……)我的代码在某些系统上崩溃;很多时候,我的用户会发送 Windows 崩溃对话框的屏幕截图。例如,我最近收到了这个:
launcher2g.exe 中未处理的 win32 异常 @ 0x3a009598: 0xC00000005:访问冲突写入位置 0x00000000。我很清楚(由于 0xc0000005 代码以及写出的错误消息)我在我的 launcher2g.exe 进程中的某处跟踪一个空指针。我不清楚的是“0x3a009598”数字的意义。这是存储汇编程序指令的进程地址空间中的代码偏移量,触发了问题吗?
假设 0x3a000000 是 launcher2g.exe 模块加载到进程中的位置,我使用 Visual Studio 调试器检查 0x3a009598 处的汇编代码,但不幸的是,这只是很多“int 3”指令(这是一个调试版本,所以有很多 int 3 填充)。
我一直想知道如何充分利用这些 @ 0x12345678 数字 - 如果这里有人可以阐明它,或者分享一些进一步解释的指针,那就太好了。
更新:如果将来有人发现这个问题,这是我发现的一个非常有趣的读物,它解释了如何理解我上面引用的错误消息:Finding crash information using the MAP file。
【问题讨论】:
标签: windows debugging crash hex