views:

15

answers:

2

My application crashes on customer's machine. It leaves entries in Windows event log like this:

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 

I've replaced application name with XXX. It's written in C++.

What can I do to analyze / get more info? The error happened twice, but it is not related to user activity - application works as a service and after some time dies. I can't reproduce the error. Is there more info about the crash somewhere in Windows logs?

Event ID: 1004 is totally meaningless for me. Do You know what can it mean?

A: 

I would strongly recommend you read about crash dumps and analysis on this blog http://blogs.msdn.com/b/tess/

On a broader note, you should perhaps add basic logging abilities to your app and at least consider an app-wide hook to trap exceptions and errors

Apart from that, i'm afraid the information you're giving isn't enough to help you

edit

the blog i pointed is mainly about web development debugging, but the tutorials about windbg are really interesting and informative. You should give them a go. If you don't want to go down that road (windbg is not always friendly) really consider adding some logging and error-management to your application

samy
About crash dumps and analysis:I know something about crash dump analysis, but the question is where to get the dump from :)About adding basic logging abilities:Does it make sense to log crash-errors? If I would know where to look for, I'd fix the bug instead of logging it.About an app-wide hook to trap exceptions and errors:I do have a thread-wide hook that I think is attached to every thread in the application. It works pretty good, but not for this time :/
ssobczak
A: 

What I found is that you can make Windows dump a memory dumps for you, in case of crash of your application. However it works only on Windows Server 2008, Windows Vista with SP1 and newer.

How-to is described here: http://msdn.microsoft.com/en-us/library/bb787181%28VS.85%29.aspx

ssobczak