Microsoft state здесь :
Microsoft Symbol Server предоставляет сжатые версии символа
файлы. Файлы имеют подчеркивание в конце имени файла
расширение, чтобы указать, что они сжаты. Например, PDB
для ntdll.dll доступен как ntdll.pd _.
У меня есть 2 вопроса здесь:
Более общий вопрос: Как я могу заставить Windbg предпочесть сжатую версию символов? Это приведет к значительной экономии пропускной способности. (Сжатие символов c: \ на моем компьютере привело к уменьшению размера на 68%).
Обнюхивание трафика показывает, что сначала пробуется несжатая версия, а затем сжатая (подчеркивание в конце имени).
и относится к общедоступным символам MS: Доступны ли в настоящее время сжатые версии вообще? Попытка вручную загрузить сжатые версии ntdll.pdb возвращает ошибку 404.
>$ wget https://msdl.microsoft.com/download/symbols/ntdll.pdb/38A5841BD353770D9C800BF1AF6B17EB1/ntdll.pdb
...
ntdll.pdb 100%[=====================================================================================>] 1.46M 406KB/s in 4.4s
2018-11-11 01:16:56 (341 KB/s) - ‘ntdll.pdb’ saved [1534976/1534976]
>$ wget https://msdl.microsoft.com/download/symbols/ntdll.pdb/38A5841BD353770D9C800BF1AF6B17EB1/ntdll.pd_
....
HTTP request sent, awaiting response... 404 Not Found
2018-11-11 01:17:01 ERROR 404: Not Found.
Обновление:
Я обнаружил, что DbgHelp поддерживает опцию SYMOPT_FAVOR_COMPRESSED , которая объясняется следующим образом:
Если имеется как несжатый, так и сжатый файл, предпочтите сжатый файл. Эта опция хороша для медленных соединений.
Вопрос теперь в том, как включить эту опцию в Windbg?
Этот параметр не задокументирован в официальной документации Windbg , и его установка вручную влияет только на уровень пользовательского интерфейса.
0:003> .symopt+ 0x800000
Symbol options are 0x830337:
0x00000001 - SYMOPT_CASE_INSENSITIVE
0x00000002 - SYMOPT_UNDNAME
0x00000004 - SYMOPT_DEFERRED_LOADS
0x00000010 - SYMOPT_LOAD_LINES
0x00000020 - SYMOPT_OMAP_FIND_NEAREST
0x00000100 - SYMOPT_NO_UNQUALIFIED_LOADS
0x00000200 - SYMOPT_FAIL_CRITICAL_ERRORS
0x00010000 - SYMOPT_AUTO_PUBLICS
0x00020000 - SYMOPT_NO_IMAGE_SEARCH
0x00800000 - SYMOPT_FAVOR_COMPRESSED
Однако проверка трафика с использованием fiddler показывает, что несжатая версия все еще запрашивается первой.