У меня есть приложение, которое иногда вызывает 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+ *
*********************************************************************
Что это значит, и как мне "исправить" это?
Обычно я захожу в панель управления System, затем вкладка Advanced, затем Environment. Затем вы можете добавить необходимую переменную _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
.
Надеюсь, это поможет. :-)
Быстрый ответ - это
c:\\> set _NT_SYMBOL_PATH=SRV*C:\WINDOWS\\Symbols*http://msdl.microsoft.com/download/symbols
перед запуском windbg.
Более быстрый ответ:
!symfix
Но это только затрагивает ток windbg/ntsd/cdb/kd.
на самом деле вам нужно либо загрузить символы на компьютер, либо настроить его на загрузку по мере выполнения, если вы находитесь в сети во время отладки.
Вот ссылка, где об этом подробно рассказывается: http://www.microsoft.com/whdc/DevTools/Debugging/debugstart.mspx
Как @Vaibhav отмеченный, Вы на самом деле должны загрузить символы и настроить windbg, чтобы использовать их.
Также отметьте следующее: ! шумный sym - Активирует шумную погрузку символа lm v - Используйте с " m" параметр, чтобы посмотреть на информацию для нагруженного модуля. см ЛБМ D - Перечислите все модули w/o символы.