Как просмотреть стек вызовов запущенного процесса/потока?

Как просмотреть стек вызовов запущенного процесса/потока?

Кто-то попросил меня получитьстек вызововилитрассировки стеказапущенного процесса, чтобы он мог проанализировать его для меня.

Как я могу получить эту информацию?

решение1

  1. ПолучатьОбозреватель процессов.

  2. Давать возможностьПоказать подробности для всех процессовизФайлменю:

    введите описание изображения здесь

  3. На главной панели выберите интересующий вас процесс:

    введите описание изображения здесь

  4. Откройте контекстное меню (щелчок правой кнопкой мыши) для выбранного процесса и щелкнитеХарактеристики:

    введите описание изображения здесь

  5. НаПотокиНа вкладке вы сможете увидеть список запущенных потоков внутри этого процесса:

    введите описание изображения здесь

  6. Выберите интересующую вас тему и нажмите кнопкуКучакнопка:

    введите описание изображения здесь

  7. Process Explorer теперь отобразит текущий стек вызовов для выбранного потока:

    введите описание изображения здесь

Символы

Если для устранения неполадок требуется больше подробностей, часто бывает очень полезно загрузить отладочные данные.символыв Process Explorer. Вот как:

  1. Если у вас еще не установлен отладчик Windows, вам придется установитьИнструменты отладки для Windowsпервый.

  2. В Process Explorer откройтеНастроить символы...изПараметрыменю:

    введите описание изображения здесь

  3. Если у вас установлены Debugging Tools (или другой отладчик Windows), Process Explorer автоматически найдет файл dbghelp.dll. В противном случае укажите правильный путь здесь.

    введите описание изображения здесь

    TheПуть символовдолжно выглядеть примерно так:

    SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
    

    Единственная часть, которую вам нужно будет настроить, это C:\Symbols. Это место, где будут кэшироваться отладочные символы.

решение2

Если вам нужен стек процессов clr, вы можете использовать ProcInsp (я его разработчик, инструмент бесплатен для использования).

  1. УстановитьПроцИнсп
  2. Найдите интересующий вас процесс и нажмите на него. Список процессов
  3. Нажмите на поток (обратите внимание, что ProcInsp показывает точку входа приложения как имя потока — он пропускает все фреймы инфраструктуры .net) Список тем
  4. Показана трассировка стека с выделенной точкой входа. Трассировки стека

Связанный контент