0

我有同样的问题:this question 但没有清晰的响应:(
我正在调试一个崩溃的程序(c ++),是我把崩溃行代码(_invalide_parameter)
当我录音时:.exr -1 in Windbg 显示最后一个事件导致崩溃(只有一个事件),它告诉我

00000000`006bfbd8 00000000`775d7ef8 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!DbgBreakPoint  

我不在乎,我希望告诉我一行: kernel32UnhandledExceptionFilter。是的,这条线存在,我可以通过~*kv命令显示它
有一种方法可以跳过硬编码的断点 ntdll!DbgBreakPoint,因为命令blbc *bd *可以做什么?

谢谢你。

如果需要:Win7 x64、VS2008、C++、Windbg 64 字节、未加载符号,只是默认符号(这里是另一个历史记录)

4

1 回答 1

0

您必须修改内存中的代码,因为在断点所在的代码中。

  1. 首先,在堆栈跟踪中找到调用DbgBreakPoint(). (确保在正确的模块中找到正确的功能)。
  2. 在内存中编辑代码以避免调用(例如,将pushandcall命令替换为nop)。您可以使用a命令执行此操作。
于 2013-06-07T13:59:03.870 回答