MFC未处理的异常

时间:2013-07-05 07:38:22

标签: c++ dll mfc unhandled-exception

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

可以进行更深入的潜水here