Как работать и обновлять сервер символов для Microsoft Windows в закрытой сети? - PullRequest
5 голосов
/ 19 сентября 2011

Фон

При работе в закрытой сети (т.е. без подключения к Интернету) общедоступный сервер символов Microsoft не доступен во время моих сеансов отладки. Меня больше всего интересуют символы отладки для системных библиотек Windows и библиотек времени выполнения C (например, kernel32.dll, mscvrt100.dll).

Я создал сервер символов отладки в закрытой сети и «затравил» его пакетами символов отладки из здесь . Проблема в том, что при обновлении Windows некоторые двоичные файлы должны получать обновленные символы. Я не знаю ни одного места, где они «аккуратно» упакованы для загрузки. Единственный известный мне вариант - использовать symchk для загрузки символов для всего в каталоге Windows / system32 на компьютере, который будет использоваться для отладки, которая утомительна и требует много времени.

Вопрос

Как вы работаете и обновляете сервер символов для Microsoft Windows в закрытой сети? Есть ли способ «зеркалировать», скажем, все символы отладки Windows, так что вы получаете символы не только для выпусков и пакетов обновления, но также для исправлений и накопительных пакетов?

Ответы [ 2 ]

5 голосов
/ 03 октября 2011

Другой вариант для заполнения вашего хранилища «закрытых сетевых символов» - использовать symchk следующим образом:

  • перейти на целевой компьютер (тот, который вы хотите символы). Установите windbg и выполните команду symchk /r c:\windows\*.dll /om c:\symbols.txt

  • на компьютере, подключенном к Интернету, получите созданный файл symbols.txt и используйте тот же символ: symchk /im c:\temp\symbols.txt

На первом шаге symchk сгенерирует текстовый файл с подписями двоичных файлов целевой машины. На втором этапе этот список читается, и symchk фактически получает файлы pdb с сервера Microsoft Symbol Server.

1 голос
/ 19 сентября 2011

Microsoft раньше предоставляла пакеты символов еще в прошлом веке.Те дни закончились, предполагается подключение к Интернету.

Вам понадобится увеличить кэш символов машины за пределами этого шкафа.Напишите небольшую тестовую программу, которая использует как можно больше похожих DLL, и отладьте ее.Затем каким-то образом скопируйте содержимое кэша символов на защищенную машину.Хотя вероятность того, что вы получите точное совпадение версий DLL и PDB, невелика, учитывая, что эта защищенная машина, вероятно, тоже не получает обновления Windows.

...