0

我正在建立一个程序,过去几天它运行良好。当我今天运行它时,它显示了这个Unhandled exception at 0x7770efc8 in LHM.exe: 0xC0000005: Access violation writing location 0x00440f48.

ntdl.dll!7770fb12()
在下面的调用堆栈中,它表明下面的帧可能不正确和/或丢失,没有为 ntdll.dll 加载符号。

我发现 ntdl.dll!7770fb12()7770FB12 push esi在反汇编中。

无论如何我可以解决这个问题吗?

4

2 回答 2

2

即使调用堆栈没有显示代码中调用最终导致 ntdll.dll 的任何特定位置,在大多数情况下,您也可以通过从头开始逐步执​​行代码来确定调用。如果您的代码太大,请尝试随机设置断点并不断缩小范围。

这是一些非常基本的,也许是粗略的调试过程,但它对我有很大帮助......

于 2013-07-06T01:34:07.357 回答
0

“下面的帧可能不正确”绝对不是堆栈损坏的迹象。如果您从 MS 服务器加载 ntdll 的公共符号(从 IDE 轻松完成 - 例如,在“模块”窗口中右键单击 ntdll),这很容易解决。

在这里可以进行更深入的潜水。

于 2013-09-14T08:00:49.947 回答