“Send” or “Don’t Send” crash report?

It’s too common that a C++ program crashes, or hang-up and get terminated by user. Both cases will normally pop up a standard message prompting user to send the dump file as crash report. When thing like this happen, should a user “Send” or “Don’t send”? “Please tell Microsoft about this problem”? even this program is not from Microsoft?

Screen shot prompt to send crash dump

If you use the program regulary, you should make your effort in helping the programmer to find the memory leak. So most of the time, it should be simply sent off since it’s quite an easy job, and so that the program publisher/creator could be notified and rectify it. However, we need to ensure we don’t keep on sending something useless or deliver to noone. Below is the flow chart showing how to determine send or don’t send.

flow chart in deciding send or don't send

Is program crashed?

How to tell if a program crash or hungup? You should know it when a program crashes, which means a program terminated abnormally and could cause lost of data. A program hungup means it’s no longer responsive or it takes longer than usual time to complete a task. You can see more after clicking “To see what data this error report contains”, another popup shall show. You can see that szModName is “hungapp” and the offset is zeroes “00000000”. You don’t have to send this report as the programmer can’t tell much other than the currently used version may hang. It’s better you try to figure out what causes hang and write to the publisher.

a hungup scenario

What if you find it actually crashes but the address offset is still zeroes? The result and action shall be same as hungup. Sending address offset of zeroes will not give much hint to the programmer. Only when you find that the address offset is of some hexa values, what you encounter can be easily resolved by programmer if you submit this complete report. In fact, the key decision to send is to check if the address offset is of some values and not a series of zeroes.

Is program digitally signed?

Why is this step needed? As it’s prompted “Please tell Microsoft about this problem” that the report will be sent to Microsoft and now we need to check if the publisher have the access to Microsoft crash dump database. And only a Verisign registrant will get to access what you are sending.

A digitally signed file's properties

Now how do we determine if a publisher have digitally signed the program? Just right click on the insallter to check out its file properties, a signed computer file shall have additional “Digital Signatures” tab and the content shall show the details of the signer. And you can now confirm your crash report can safely reach the publisher when you choose to send, otherwise you need to manually collect the report and email to the publisher.

Manually collect crash report

Collecting crash report manually involve copying two contents. Firstly simply capture and produce the print screen when you “Click here” “To see what data this error report contains”, i.e. the second pop up that consist of address offset figures. And then further “Click here” on this page “To view technical information about the error report” to get the next screen:


Highlight the second line which showing the path of ‘appcompat.txt’. Copy the path by pressing Ctrl+C and then open up Windows Explorer and paste it on to address bar. The file shall be open in notepad and you could then save it into different path say “My documents”. Attach the screen shot and this crash file and email to the publisher and the recipient will appreciate you a lot. You may even receive a free professional license if you describe the steps to reproduce the problem. 😉

Open dump file in Windows Explorer

You shall see the following message once you successfully send out the report.

Sending error report completed

If you are lucky, you may get notified by the publisher that new update is already available. Below is the web site shown when you click on ‘More information’ upon completion of error reporting on Adobe Reader 9.1.2’s crash.

New update is available

Credit: the above flow chart is produced by using Open Office Calc.