WinDbg - проблема с «открытым исполняемым файлом» - PullRequest
2 голосов
/ 04 февраля 2010

Я попытался отладить консольное приложение .NET с помощью WinDbg.Я обычно делаю это File -> Open Executable, тогда WinDbg загрузит выбранный exe.Это работало для упомянутого приложения .NET.Но теперь я каждый раз получаю следующий вывод:

Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: "C:\xxxxxxx\MultiTS\bin\Release\SimepleTS.exe"
Symbol search path is: D:\xxxxxx\Debug
Executable search path is: 
ModLoad: 00400000 00408000   SimepleTS.exe
Unable to insert breakpoint 0 at 036a3ff7, Win32 error 0n299
    "Only part of a ReadProcessMemory or WriteProcessMemory request was completed."
bp0 at 036a3ff7 failed
WaitForEvent failed
eax=00402f7e ebx=7ffd8000 ecx=7c910060 edx=7c90e920 esi=0079faa0 edi=00d4f558
eip=7c810705 esp=0012fffc ebp=7c91005d iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000200
7c810705 ??              ???

Сначала запустите приложение, и присоединение к процессу тоже не работает.Однако открытие другого исполняемого файла .NET, например имеющегося у меня проекта WinForm, все еще работает правильно.

Любая подсказка, что здесь не так?

Ответы [ 2 ]

4 голосов
/ 04 февраля 2010

я предполагаю, что у вас есть старая точка останова, использовавшаяся ранее в модуле, который загружается по другому адресу, как и раньше. Так как рабочая область была сохранена, то же самое произошло с bp (должно быть bu - они сохраняются в рабочей области). Очистите bp (bc0) и повторно сохраните рабочее пространство (при необходимости).

1 голос
/ 04 февраля 2010

Ваше приложение .NET скомпилировано как 32-битное или 64-битное приложение?Я читаю много материалов в Интернете об этой ошибке, и одна популярная ситуация - люди застревают, пытаясь отладить 64-битные изображения с помощью 32-битной WinDbg (ну, вот как это выглядит).http://winprogger.com/?p=26

http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.cnblogs.com/boyd4y/archive/2009/11/19/1606041.html&ei=w4tqS8WWCIX80wT1qtncBA&sa=X&oi=translate&ct=result&resnum=1&ved=0CAgQ7gEwADgK&prev=/search%3Fq%3Dwindbg%2BOnly%2Bpart%2Bof%2Ba%2BReadProcessMemory%2Bor%2BWriteProcessMemory%2Brequest%2Bwas%2Bcomplete%26hl%3Den%26rlz%3D1C1_____enGB359GB359%26sa%3DN%26start%3D10

Команда сброса windbg завершается с ошибкой 0x8007012b

...