У меня есть приложение C#, которое сбой по неизвестной причине.Как я могу взять файл дампа для приложения Winforms
Для понимания проблемы, я хочу взять файл дампа для него.
Как я могу это сделать?
большое спасибо,
Oz.
У меня есть приложение C#, которое сбой по неизвестной причине.Как я могу взять файл дампа для приложения Winforms
Для понимания проблемы, я хочу взять файл дампа для него.
Как я могу это сделать?
большое спасибо,
Oz.
Вы должны поймать исключение и вывести его в файл журнала в своей основной папке.
т.е.
static int main()
{
try
{
}
catch (Exception ex)
{
WriteToLogFile(ex);
}
}
Он попросил файл дампа. Если вы хотите получать уведомления об исключениях, AppDomain.UnhandledException - лучший выбор. – Patrik
Вы говорите о принятии дампа, когда ваш сбоя приложения, так что вы можете отлаживать его с WinDbg или CDB?
Если да, то существуют различные подходы:
DrWatson
-Run drwtsn32 -i
в интерпретаторе команд, это будет активировать доктор Ватсон и пусть это слушать в фоновом режиме для всех аварий.
Windbg
-Run windbg -I
из commandpromt начиная с папке установки Windbg.
-Когда произойдет сбой, windbg немедленно загрузит аварийную свалку.
Прежде всего, необходимо загрузить и установить Debugging tools for Windows.
Если вы используете Windows Vista/7 или Server 2008, тогда вы можете открыть диспетчер задач и вручную создать файл дампа, как описано here. Я бы порекомендовал использовать Windbg для того, чтобы поймать крах, как предложил Мез, поскольку с этого момента вы можете выполнить немедленный анализ дампов сбоев в процессе.
Почему просто не отлаживать приложение, чтобы вы могли легко найти путь выполнения и переменные – RvdK