Программно сгенерировать дамп файл при падении
От: greenya Украина  
Дата: 09.09.09 13:52
Оценка:
Добрый день.

В Main() пишу:

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

сам обработчик выглядит так:

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e.ExceptionObject is Exception)
{
string m = (e.ExceptionObject as Exception).Message;

DialogResult r = MessageBox.Show(
"Fatal error occurred and application will close now.\n\n" +
m + "\n\n" + "Would you like to generate dump file ?", "Fatal error",
MessageBoxButtons.YesNo, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2);

if (r == DialogResult.Yes)
{
// ...dump file generation goes here...
}
}
}

в место комментария нужно написать код который будет генерировать dump файл,
как это сделать ?

Спасибо.
Re: Программно сгенерировать дамп файл при падении
От: Pavel Dvorkin Россия  
Дата: 10.09.09 05:55
Оценка:
Здравствуйте, greenya, Вы писали:

G>Добрый день.


G>в место комментария нужно написать код который будет генерировать dump файл,

G>как это сделать ?

Сначала следовало бы определить, что этот дамп файл должен содержать.
With best regards
Pavel Dvorkin
Re[2]: Программно сгенерировать дамп файл при падении
От: greenya Украина  
Дата: 10.09.09 07:14
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, greenya, Вы писали:


G>>Добрый день.


G>>в место комментария нужно написать код который будет генерировать dump файл,

G>>как это сделать ?

PD>Сначала следовало бы определить, что этот дамп файл должен содержать.


ну хотябы: значения переменных и стек вызова.

П.С.: у меня уже удается сгенерировать дамп-файл, но при открытии в студии символы не находятся. Я хочу такой дамп файл, который например можно сгенерировать в WinVista если открыть Task Manager и в списке процессов на процессе в контекстном меню выбрать пункт Create Dump File. Такой файл открывается студией и если есть исходники на этой машине -- в момент их находит. Я такой файл хочу, только программно и не только под WinVista, хобя под WinXP минимум.
Re[3]: Программно сгенерировать дамп файл при падении
От: Pavel Dvorkin Россия  
Дата: 10.09.09 07:56
Оценка:
Здравствуйте, greenya, Вы писали:

G>Здравствуйте, Pavel Dvorkin, Вы писали:


G>П.С.: у меня уже удается сгенерировать дамп-файл, но при открытии в студии символы не находятся. Я хочу такой дамп файл, который например можно сгенерировать в WinVista если открыть Task Manager и в списке процессов на процессе в контекстном меню выбрать пункт Create Dump File.

Такой файл открывается студией и если есть исходники на этой машине -- в момент их находит. Я такой файл хочу, только программно и не только под WinVista, хобя под WinXP минимум.

Хм. Я попробовал в Windows 7 Create Dump File. Создается, но при открытии в VS просто демонстрирует байты. Это раз. А во-вторых, это дамп процесса, а не управляемой среды. Я еще пойму, если удастся получить переменные неуправляемого процесса , но управляемые переменные — сомневаюсь.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.