Выяснение сайта вызова из шестнадцатеричного представления - PullRequest
1 голос
/ 26 сентября 2011

Я пытаюсь проанализировать аварийный дамп службы MS BizTalk, которая постоянно потребляет 100% ресурсов ЦП (и я предполагаю, что это из-за нашего кода :)). У меня есть пара дампов, и трассировка стека самых загруженных потоков выглядит аналогично - единственная проблема заключается в том, что на вершине стека, похоже, отсутствуют символы. Это выглядит так:

0x642`810b2fd0

Итак, вопрос в том, как узнать модуль / функцию по этому адресу? (или хотя бы модуль, чтобы я знал, какой файл символов отсутствует).

Ответы [ 2 ]

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

lm в WinDbg выводит список модулей.В вашем случае WinDbg не находит никаких модулей, которые занимают этот адрес - в противном случае он напечатал бы +.Некоторые из библиотек генерируют код динамически, в этом случае тело функции будет помещено в кучу и не будет иметь никаких символов или даже связанных с ней модулей.Я знаю, что MCF в какой-то момент сделал это.

Я предлагаю вам попытаться проанализировать кадры наверху стека, которые имеют символы, и попытаться выяснить, что они могут делать.

0 голосов
/ 26 сентября 2011

Хотелось бы помочь больше, но единственное, что я могу предложить, это прочитать этот шпаргалку команд WinDbg.Есть одна команда wt, у которой есть список параметров, которые могут помочь в получении информации модуля об этом сайте вызовов.

Дайте мне знать, если это вам нужно.

...