2010-09-06 3 views
0

У меня проблема. Моя программа вылетает при запуске без трассировки стека. Единственное, что я вижу, это «Отправить отчет для Microsoft». Это происходит только на одном ПК.Почему stacktrace не отображается, когда возникает исключение?

Не могли бы вы объяснить мне Почему некоторые исключения со стеком трассировки, а некоторые - без?

Спасибо.

+0

Является ли приложение составлено в режиме отладки или выпуска? Что такое .NET Framework и версия ОС? Что произойдет, если вы попытаетесь сохранить трассировку стека для каждого исключения, т.е. использовать глобальный блок try/catch и сохранить след исключения до завершения приложения? –

+0

Режим деблокирования; .Net Framework 3.5; Windows XP German; Глобальная попытка/улов не дает никаких результатов. – Yuriy

ответ

2

Никакие стековые следы не отображаются по незадачним исключениям по умолчанию.

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

Все остальное находится в реализации программы.

Я бы предложил посмотреть что-то вроде procdump (Sysinternals), чтобы захватить дамп памяти, из которого VS может дать вам трассировку стека (и более подробную информацию), чтобы помочь диагностировать проблему.

1

Одна из возможных проблем заключается в том, что приложение сбой перед загрузкой .Net framework и выполнение функции Main().

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

Смежные вопросы