Я отлаживаю драйвер в виртуальной виртуальной машине с помощью WinDbg, подключенного к цели через COM-порт, который отображается на хосте как именованный канал.WinDbg Unresponsive After Crash
Debugging работает отлично - я могу приостановить цель, установить точки останова, пошагово исходных файлов .etc
Когда мой водитель встречает роковую ошибку WinDbg сбрасывает следующий вывод на консоль:
*** Fatal System Error: 0x00000050
(0xFFFFF88004126840,0x0000000000000001,0xFFFFF88003E12690,0x0000000000000000)
Driver at fault:
*** MYDRIVER.sys - Address FFFFF88003E12690 base at FFFFF88003E12000, DateStamp 51249ae5
.
Break instruction exception - code 80000003 (first chance)
A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.
A fatal system error has occurred.
Connected to Windows 7 7601 x64 target at (Wed Feb 20 09:57:54.670 2013 (UTC + 0:00)), ptr64 TRUE
Loading Kernel Symbols
...............................................................
................................................................
..............
Loading User Symbols
.....
Loading unloaded module list
.....Unable to enumerate user-mode unloaded modules, Win32 error 0n30
Loading Wow64 Symbols
..........................................................
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 50, {fffff88004126840, 1, fffff88003e12690, 0}
Маленький поле состояния в командной строке отладчика пуст, и отладчик не отвечает на команды, которые я вводил.
Я хочу видеть стек вызовов и проверять состояние машины, но отладчик остается неактивным. Нажатие BREAK/CONTINUE, похоже, не влияет.
Я не понимаю - каково состояние отладчика на этом этапе?
У меня есть подозрение, что вся моя настройка отладки выполняется очень, очень медленно.
Вы повредили операционную систему, довольно нормально, когда сбой драйвера. Конечно, отладчик тоже не будет работать, этот COM-порт - мертвый попугай. Вы можете получить посмертный анализ из основного дампа. http://msdn.microsoft.com/en-us/library/windows/hardware/ff538042%28v=vs.85%29.aspx –
Я не уверен, что вы правы. Примерно через пять минут отладчик просыпается. – 2013-02-20 11:32:56
Отладчик может быть довольно медленным, особенно через COM-порты. Также размещайте соответствующие файлы символов в быстром, доступном месте (например, не в удаленной сети) и не загружайте символы ОС (они огромны и обычно загружаются с удаленного хоста). – SomeWittyUsername