Отладка WinDBG после перезапуска - PullRequest
0 голосов
/ 09 сентября 2018

Среда является 32-разрядной Windows XP SP3 с 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

Когда я шагаю или иду, вот что происходит (даже если в 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_docs\1536485595.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 ??              ???

Сначала я подумал, что проблема в пути к файлу Symbol, но я вижу, что он правильный.

Может кто-нибудь подсказать, пожалуйста, как решить эту проблему?

Обратите внимание, что с OllyDBG и Immunity Debugger я не столкнулся с проблемой.

1 Ответ

0 голосов
/ 10 сентября 2018

вы используете рабочее пространство? похоже, у вас сохранена ложная точка останова

обратите внимание, что ваш модуль охватывает

ModLoad: 00400000 00407000   cdf_reader.exe

но ваша точка останова на

Unable to insert breakpoint 0 at 00411000,

за пределами модуля

windbg пытается установить точку останова, возможно, на частичную или несуществующую память, и не удается

если вы использовали рабочие пространства, попробуйте удалить или обновить их

иначе попробуйте очистить все точки останова с помощью bc * и попробуйте .restart

...