WinDbg показывает разные стеки вызовов при подключении к процессу по сравнению с аварийным дампом

StackOverflow https://stackoverflow.com/questions/1666137

Вопрос

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

При подключении к проблемному процессу перед любым стеком вызовов я вижу следующее сообщение:

ПРЕДУПРЕЖДЕНИЕ:Информация о развертывании стека недоступна.Следующие кадры могут быть неправильными.

Кадры на самом деле выглядят правильно, если они прикреплены непосредственно к процессу.Однако, когда я делаю дамп этого файла, а затем открываю дамп в WinDbg на другом компьютере, один из кадров стека отличается (также отображается указанная выше ошибка). Первоначально это поставило поставщика в тупик, поскольку путь к коду казался невозможным. .

Я сделал дамп, используя:

.dump /ma filename.dmp

Что может вызвать это несоответствие и можно ли что-нибудь сделать, чтобы надежно проанализировать стеки вызовов файла дампа?Могут ли быть какие-либо другие искаженные данные, о которых мне следует знать?

Это было полезно?

Решение

Похоже, у вас несовпадающие PDB-файлы.Вы пробовали !chksym и !itoldyouso команды?например, см. статья об убийце ошибок

Еще одна вещь, которую стоит попробовать, это !sym noisy это должно показать вам, какие файлы PDB загружаются.

Смотрите также Блог MSDN

Другие советы

Предупреждение сообщает вам, что отладчик не может связать один или несколько адресов в стеке с информацией о существующем модуле.Поскольку управляемый код компилируется средой CLR «на лету», соответствующие модули для кода отсутствуют и, следовательно, появляется предупреждение.

Команда SOS !clrstack содержит необходимую информацию из CLR для отображения значимого стека (или, по крайней мере, без предупреждения).Если вы используете любую из собственных команд дампа стека, вы увидите это предупреждение для управляемого кода.

В готовящейся к выходу книге «Продвинутая отладка .NET» будет дополнительная информация.Видеть http://advanceddotnetdebugging.com/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top