Кто-то попросил меня получитьстек вызововилитрассировки стеказапущенного процесса, чтобы он мог проанализировать его для меня.
Как я могу получить эту информацию?
решение1
ПолучатьОбозреватель процессов.
Давать возможностьПоказать подробности для всех процессовизФайлменю:
На главной панели выберите интересующий вас процесс:
Откройте контекстное меню (щелчок правой кнопкой мыши) для выбранного процесса и щелкнитеХарактеристики:
НаПотокиНа вкладке вы сможете увидеть список запущенных потоков внутри этого процесса:
Выберите интересующую вас тему и нажмите кнопкуКучакнопка:
Process Explorer теперь отобразит текущий стек вызовов для выбранного потока:
Символы
Если для устранения неполадок требуется больше подробностей, часто бывает очень полезно загрузить отладочные данные.символыв Process Explorer. Вот как:
Если у вас еще не установлен отладчик Windows, вам придется установитьИнструменты отладки для Windowsпервый.
В Process Explorer откройтеНастроить символы...изПараметрыменю:
Если у вас установлены Debugging Tools (или другой отладчик Windows), Process Explorer автоматически найдет файл
dbghelp.dll
. В противном случае укажите правильный путь здесь.TheПуть символовдолжно выглядеть примерно так:
SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
Единственная часть, которую вам нужно будет настроить, это
C:\Symbols
. Это место, где будут кэшироваться отладочные символы.
решение2
Если вам нужен стек процессов clr, вы можете использовать ProcInsp (я его разработчик, инструмент бесплатен для использования).
- УстановитьПроцИнсп
- Найдите интересующий вас процесс и нажмите на него.
- Нажмите на поток (обратите внимание, что ProcInsp показывает точку входа приложения как имя потока — он пропускает все фреймы инфраструктуры .net)
- Показана трассировка стека с выделенной точкой входа.