Отладка .net с использованием SOS - PullRequest
0 голосов
/ 22 ноября 2010

Я создал дамп с помощью clrdump. Когда я смотрю его с помощью sos, я загружаю sos и запускаю! Dso, но получаю ошибку:

PDB symbol for mscorwks.dll not loaded

Однако в окне модуля написано, что символ загружен. Я получил последние символы из магазина MS?

У кого-нибудь есть идеи?

Спасибо

Даррен.

Ответы [ 2 ]

2 голосов
/ 23 ноября 2010

Вам не нужны символы для mscorwks.dll для !dso для правильной работы, но вот несколько советов о том, как получить символы.

Первое, что вам нужно сделать, это проверить, что вы установили путь символа?Вы можете просмотреть текущую настройку пути символа, используя команду .sympath.Вы можете загрузить все символы и указать путь к месту на диске, либо просто воспользоваться онлайн-сервером символов.В любом случае путь символа должен указывать на правильное местоположение.

Вы можете использовать команду .symfix, чтобы указать на общедоступный сервер символов Microsoft, который, вероятно, является самым простым способом получения символов (при условии, что у вас есть онлайн-доступ).

Используйте команду lm, чтобы увидеть модули и их символы.Если рядом с модулем написано pdb symbols, все в порядке.Помните, что WinDbg будет загружать символы только по мере необходимости, поэтому для многих модулей вы, вероятно, увидите deferred.Вы можете принудительно загрузить символы для всех модулей, используя команду .reload /f.

Для устранения неполадок загрузки символов используйте команду !sym noisy.Он скажет вам, где отладчик пытается найти файлы PDB.

1 голос
/ 23 ноября 2010
!sym noisy    
.symfix
.reload -f
...