重启后WinDBG调试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重启后WinDBG调试相关的知识,希望对你有一定的参考价值。

环境是Windows XP SP3 32位与WinDBG:6.12.0002.633 X86。这些程序是使用Visual C ++ 2008 Express Edition编译的。我有一个WinDBG的问题,我试图修复它很长一段时间没有成功。

最初的反汇编:

ntdll!DbgBreakPoint:
7c90120e cc              int     3
7c90120f c3              ret
7c901210 8bff            mov     edi,edi

当我步或走时,会发生什么(即使主要断点):

0:000> t
Unable to insert breakpoint 0 at 00411000, Win32 error 0n299
    "Only part of a ReadProcessMemory or WriteProcessMemory request was completed."
bp0 at 00411000 failed
WaitForEvent failed
eax=00251eb4 ebx=7ffd6000 ecx=00000005 edx=00000020 esi=00251f48 edi=00251eb4
eip=7c90120f esp=0012fb20 ebp=0012fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000302
ntdll!DbgBreakPoint+0x1:
7c90120f c3              ret

eip = 7c90120f

当我重新启动时,会发生什么:

0:000> .restart /f
CommandLine: C:classcdfcdf_reader.exe C:classfuzzingcrash_docs1536485595.1crash_1.cdf
Symbol search path is: C:classcdf
Executable search path is: 
ModLoad: 00400000 00407000   cdf_reader.exe
Unable to insert breakpoint 0 at 00411000, Win32 error 0n299
    "Only part of a ReadProcessMemory or WriteProcessMemory request was completed."
bp0 at 00411000 failed
WaitForEvent failed
eax=00401613 ebx=7ffdb000 ecx=020fa685 edx=000000c2 esi=0090f7aa edi=0090f6ee
eip=7c8106f5 esp=0012fffc ebp=00000000 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000200
7c8106f5 ??              ???

和拆卸:

No prior disassembly possible
7c8106f5 ??              ???
7c8106f6 ??              ???
7c8106f7 ??              ???

我一开始认为问题出在Symbol文件路径中,但我发现它是正确的。

有人可以告诉我如何解决这个问题吗?

请注意,使用OllyDBG和Immunity Debugger我没有遇到问题。

答案

你使用工作区吗?看来你有一个假的断点保存了

注意你的模块跨度

ModLoad: 00400000 00407000   cdf_reader.exe

但你的断点是

Unable to insert breakpoint 0 at 00411000,

这超出了模块限制

windbg试图在可能是部分或不存在的内存上设置断点并且失败

如果您使用工作区,请尝试删除或刷新它们

否则尝试用bc *清除所有断点并尝试.restart

以上是关于重启后WinDBG调试的主要内容,如果未能解决你的问题,请参考以下文章

WinDbg 配置网络调试

如何用windbg调试因需加载的DLL

[原]调试实战——使用windbg调试TerminateThread导致的死锁

WinDbg 无法加载 SOS.dll

windbg符号加载和调试

Windbg调试命令详解