У меня есть приложение, которое иногда вызывает BSOD на компьютере с Win XP. Пытаясь узнать больше, я загрузил результирующий файл * .dmp (из C: \ Windows \ Minidump), но при этом получаю это сообщение, когда в большей части считываю:
*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
* *
* The Symbol Path can be set by: *
* using the _NT_SYMBOL_PATH environment variable. *
* using the -y <symbol_path> argument when starting the debugger. *
* using .sympath and .sympath+ *
*********************************************************************
Что это значит, и как мне это «исправить»?
вам на самом деле нужно либо загрузить символы на свой компьютер, либо настроить их на загрузку, если вы подключены к Интернету во время отладки.
Вот ссылка, которая подробно говорит об этом: http://www.microsoft.com/whdc/DevTools/Debugging/debugstart.mspx
Быстрый ответ
c: \> set _NT_SYMBOL_PATH = SRV * C: \ WINDOWS \ Symbols * http: //msdl.microsoft.com/download/symbols
перед запуском windbg.
Обычно я захожу на панель управления системой, затем вкладка «Дополнительно», затем «Среда». Затем вы можете добавить необходимую _NT_SYMBOL_PATH
переменную. Тогда вам не нужно ничего делать в командной строке перед запуском WinDbg.
Настройка srv*C:\Windows\Symbols*http
: //msdl.microsoft.com/download/symbols
как предложено Staffan в порядке. Я обычно предпочитаю использовать свой собственный профиль для хранения символов (так что мне не нужно редактировать разрешения для C:\Windows\Symbols
, так как я намеренно работаю как пользователь с ограниченными правами, для хорошей гигиены безопасности). Таким образом , (в моем случае) мой _NT_SYMBOL_PATH
есть srv*C:\Documents and Settings\cky\symbols*http
: //msdl.microsoft.com/download/symbols
.
Надеюсь это поможет. :-)
Как заметил @Vaibhav, вам действительно нужно скачать символы и настроить windbg для их использования.
Также обратите внимание на следующее:! Sym noisy - активирует загрузку символов с шумом. Lm v - используется с параметром «m» для просмотра информации о загруженном модуле. lme D sm - список всех модулей без символов.
Быстрый ответ:
!symfix
Но это влияет только на текущий windbg / ntsd / cdb / kd.