У меня есть приложение, которое иногда вызывает 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: \> установить _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.