документация говорит:
Если вы включите строку srv * в путь символов, отладчик использует
сервер символов для получения символов из хранилища символов по умолчанию. За
Например, следующая команда говорит отладчику использовать символ
сервер для получения символов из хранилища символов по умолчанию. Эти символы
не кэшируется на локальном компьютере..Симпатия SRV *
Однако то, что я нашел, это символы являются кэшируются.
Я использую WinDbg 10 и файлы кеша по умолчанию, кажется, созданы в C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\sym
Когда я удаляю их и запускаю исполняемый файл с путем, установленным в srv*
символы загружены здесь.
Так что документация не так?
Да, документация неверна (по крайней мере для WinDbg 6.2.9200.16384).
Вы можете доказать это, введя упомянутую команду:
0:000> .sympath srv*
Symbol search path is: srv*
Expanded Symbol search path is: cache*;SRV*http://msdl.microsoft.com/download/symbols
Итак, как мы видим из вывода WinDbg, расширенный путь к символам (который будет фактически использоваться) содержит cache*
что указывает на то, что символы будут кэшироваться.
Вы нашли это в документация для WinDbg, что может быть неправильным местом для определения поведения, поскольку WinDbg не загружает символы самостоятельно. Вместо этого он использует dbghelp.dll и поведение этой DLL может измениться без обновления справки WinDbg.
К синтаксису пути символа действительно трудно привыкнуть, и документация распространяется повсеместно. Вся магия с расширениями и каталогами по умолчанию делает его еще хуже.
Поток более или менее:
!homedir
.)Если вы используете специальный cache*path
знак в вашем пути символов WinDbg WinDbg будет кэшировать символы из источников, следующих за этим токеном. Также можно написать srv*localpath*serverpath
кэшировать символы из serverpath
в localpath
, Если вы не хотите кэшировать, убедитесь, что ваш .sympath
не включает это
Кроме того, может быть, стоит проверить, эффективно ли кэшируются символы (извлекаются один раз, многократно используются много раз) или просто сохраняются там для этого запуска WinDbg (извлекаются один раз за сеанс).