У меня проблема с файлами символов. Я экспериментировал с путем к файлу символов и задать путь следующим образом:Файлы Windbg и Symbol
srv*c:\symbols*http://msdl.microsoft.com/download/symbols;C:\Users\myuser\Desktop\driver2\objchk_win7_x86\i386
Но потом я изменил его на следующее:
srv*c:\symbols*http://msdl.microsoft.com/download/symbols;C:\Users\myuser\Desktop\mydriver\objchk_win7_x86\i386
Я изменил драйвер2 с mydriver в пути: это путь, где находится файл .pdb для моего драйвера. Проблема заключается в том, что .sympath печатает правильный путь, как показано ниже:
kd> .sympath
Symbol search path is: srv*c:\symbols*http://msdl.microsoft.com/download/symbols;C:\Users\myuser\Desktop\mydriver\objchk_win7_x86\i386
Expanded Symbol search path is: srv*c:\symbols*http://msdl.microsoft.com/download/symbols;c:\users\myuser\desktop\mydriver\objchk_win7_x86\i386
Но символы для водителя до сих пор не найдены. Если я запустил команду .reload, мы увидим, что WinDbg ищет .pdb в каталоге driver2/вместо каталога mydriver /.
kd> .reload /f mydriver.sys
SYMSRV: c:\symbols\mydriver.pdb\3D655E533B0449A38D7AB0AF637CE9201\mydriver.pdb not found
SYMSRV: http://msdl.microsoft.com/download/symbols/mydriver.pdb/3D655E533B0449A38D7AB0AF637CE9201/mydriver.pdb not found
SYMSRV: c:\users\myuser\desktop\mydriver\objchk_win7_x86\i386\mydriver.pdb\3D655E533B0449A38D7AB0AF637CE9201\mydriver.pdb not found
DBGHELP: c:\users\myuser\desktop\driver2\objchk_win7_x86\i386\mydriver.pdb - file not found
*** ERROR: Module load completed but symbols could not be loaded for mydriver.sys
DBGHELP: mydriver - no symbols loaded
Я удалил всю рабочие области, закрытые WinDbg, перезапуске Windows, но драйвер2/запись по-прежнему существует: оно должно быть в кэше рабочей области по умолчанию или где-нибудь. Как я могу удалить все личные настройки WinDbg, включая эти кеши, поэтому я могу перезапустить WinDbg и уйти с драйвером2/path и заставить его использовать mydriver /.
Я также могу решить проблему с переименованием каталога mydriver/в драйвер2 /, но я не хочу, чтобы решить эту проблему. Я хочу понять, что происходит и решить все, что я могу.
/i работает для меня, в моем случае я использую windbg 6.2.8299.0 AMD64 в Windows 7 с пакетом обновления 1 (SP1) для отладки полного файла дампа. Я очень уверен, что .sympath верен, и я использую symchk для проверки корректности .dll и .pdb. Но windbg все еще отказывается загружать pdb. Кстати, от windbg help,/i также подразумевает/f, даже если вы не указали флаг f /. – zhaorufei