重启后WinDBG调试
WinDBG debug after restart
环境是 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
当我 step 或 go 时会发生这种情况(即使 main 中有断点):
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:\class\cdf\cdf_reader.exe C:\class\fuzzing\crash_docs36485595.1\crash_1.cdf
Symbol search path is: C:\class\cdf
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 ?? ???
一开始我以为问题出在符号文件路径上,但我发现它是正确的。
有人可以指导我如何解决这个问题吗?
请注意,使用 OllyDBG 和 Immunity Debugger 我没有遇到问题。
您使用工作区吗?看来你保存了一个虚假的断点
注意你的模块跨度
ModLoad: 00400000 00407000 cdf_reader.exe
但是你的断点在
Unable to insert breakpoint 0 at 00411000,
超出模块限制
windbg 正在尝试在可能是部分或不存在的内存上设置断点,但失败了
如果您正在使用工作区,请尝试删除或刷新它们
否则尝试使用 bc *
清除所有断点并尝试 .restart
环境是 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
当我 step 或 go 时会发生这种情况(即使 main 中有断点):
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:\class\cdf\cdf_reader.exe C:\class\fuzzing\crash_docs36485595.1\crash_1.cdf
Symbol search path is: C:\class\cdf
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 ?? ???
一开始我以为问题出在符号文件路径上,但我发现它是正确的。
有人可以指导我如何解决这个问题吗?
请注意,使用 OllyDBG 和 Immunity Debugger 我没有遇到问题。
您使用工作区吗?看来你保存了一个虚假的断点
注意你的模块跨度
ModLoad: 00400000 00407000 cdf_reader.exe
但是你的断点在
Unable to insert breakpoint 0 at 00411000,
超出模块限制
windbg 正在尝试在可能是部分或不存在的内存上设置断点,但失败了
如果您正在使用工作区,请尝试删除或刷新它们
否则尝试使用 bc *
清除所有断点并尝试 .restart