Мое приложение вылетает и оставляет запись в журнале событий Windows. Что делать дальше? - PullRequest
0 голосов
/ 14 сентября 2010

Мое приложение падает на компьютере клиента.Он оставляет записи в журнале событий Windows, например:

Event Type: Information
Event Source: Application Error
Event Category: (100)
Event ID: 1004
Date: 9/7/2010
Time: 7:37:32 AM
User: N/A
Computer: MACHINE_NAME
Description:
Reporting queued error: faulting application XXXXX.exe, version
0.0.0.0, faulting module XXXXX.exe, version 0.0.0.0, fault address
0x001140d0.

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 78 66 6c ure XXX
0018: 69 63 73 74 61 74 2e 65 XXXXXX.e
0020: 78 65 20 30 2e 30 2e 30 xe 0.0.0
0028: 2e 30 20 69 6e 20 78 66 .0 in XX
0030: 6c 69 63 73 74 61 74 2e XXXXXXX.
0038: 65 78 65 20 30 2e 30 2e exe 0.0.
0040: 30 2e 30 20 61 74 20 6f 0.0 at o
0048: 66 66 73 65 74 20 30 30 ffset 00
0050: 31 31 34 30 64 30 1140d0 

Я заменил имя приложения на XXX.Он написан на C ++.

Что я могу сделать, чтобы проанализировать / получить больше информации?Ошибка произошла дважды, но это не связано с активностью пользователя - приложение работает как служба и через некоторое время умирает.Я не могу воспроизвести ошибку.Есть ли какая-нибудь информация о сбое где-нибудь в журналах Windows?

Код события: 1004 для меня совершенно бессмысленно.Вы знаете, что это может значить?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2010

Я обнаружил, что вы можете заставить Windows создавать дампы памяти в случае сбоя вашего приложения. Однако он работает только в Windows Server 2008, Windows Vista с пакетом обновления 1 (SP1) и новее.

Как описано здесь: http://msdn.microsoft.com/en-us/library/bb787181%28VS.85%29.aspx

0 голосов
/ 14 сентября 2010

Я настоятельно рекомендую вам прочитать об аварийных дампах и анализе в этом блоге http://blogs.msdn.com/b/tess/

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

Кроме того, боюсь, что предоставляемой вами информации недостаточно, чтобы помочь вам

edit

блог, который я указал, в основном посвящен отладке веб-разработки, но учебники о windbg действительно интересны и информативны. Вы должны дать им шанс. Если вы не хотите идти по этому пути (windbg не всегда дружелюбен), действительно подумайте о том, чтобы добавить в свое приложение протоколирование и управление ошибками

...