Есть ли способ отладки уже запущенного приложения, скомпилированного в режиме выпуска? - PullRequest
1 голос
/ 18 декабря 2008

У меня есть служба windows dotnet, которая в данный момент зависла, но работает. Есть ли в любом случае присоединить к нему отладчик, несмотря на отсутствие символов; и что он уже запущен?

Ответы [ 3 ]

5 голосов
/ 18 декабря 2008

Игнорировать предупреждение «нет символов». Как только у вас есть встроенный отладчик (я предпочитаю WinDbg для подобных вещей), загрузите пакет инструментов SoS:

.loadby sos mscorwks

Теперь вы можете получить управляемый стек вызовов с помощью команды !clrstack и надеяться, что это даст вам достаточно информации для выяснения зависания. Вот удобный шпаргалка с несколькими другими, если это не поможет вам.

На этот раз вам не поможет, но ... привычка включать генерацию файлов символов для отладочных и сборок в режиме выпуска. Нет причин не делать этого, и в таких ситуациях вам будет немного легче.

2 голосов
/ 18 декабря 2008

Вот пример кода, ссылки на инструменты и презентации по , как отладить зависший процесс .NET .

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

2 голосов
/ 18 декабря 2008

Из MS Dev IDE Отладка -> Процессы -> Присоединить (После выбора процесса.) Возможно, вам придется нажать кнопку «Показать системные процессы». Там может быть никакой полезной информации, хотя ...

...