PageRenderTime 5ms CodeModel.GetById 2ms app.highlight 0ms RepoModel.GetById 2ms app.codeStats 0ms

/docs/dox/analyzing_error_reports.dox

http://crashrpt.googlecode.com/
Unknown | 45 lines | 34 code | 11 blank | 0 comment | 0 complexity | 2cc9978a0af0545d9d3e33e7b7d6cf77 MD5 | raw file
 1/*!
 2
 3\page analyzing_error_reports Analyzing Error Reports
 4
 5When a software release is made and CrashRpt support is enabled in your software, sooner or later you
 6start receiving crash reports. 
 7
 8To check the integrity of received crash report files, you may calculate MD5 hash for 
 9your error report and compare it with the MD5 hash that is attached to the error report. 
10When you receive error reports using HTTP connection, the MD5 hash is passed to the 
11server-side script through the 'md5' parameter. When you receive error reports using email, 
12the MD5 hash is attached to the email. 
13
14Count of received crash reports may depend on robustness of your software to various 
15exceptional situations and on popularity of your software. So it's nothing unusual
16if you receive hundreds of error reports a day. If there are many incoming error reports,
17you can monitor and analyse them for some period of time after release, and prepare a hot fix 
18release. 
19
20The purpose of the error report is to help you determine the reason of the problem and 
21try to fix it. The keyword is 'try', because in most cases you can't fix crashes as 
22you usually do with normal bugs. You usually can't reproduce the error on your machine,
23so you can't guarantee it is fixed. Typically, you make fixes in parts of code that 
24could cause the crash most probably and release a new version of your software. 
25For some tips on doing such code modifications, see \ref writing_robust_code.
26
27The normal scenario is that your software becomes more and more stable with each evolutional release and
28less and less error reports are received. 
29
30\section zip_structure The Structure of an Error Report
31
32A crash report is a ZIP file containing several files, such as 
33 - crash minidump (<i>crashdump.dmp</i>);
34 - crash description XML (<i>crashrpt.xml</i>);
35 - optional desktop screenshot file(s);
36 - optional screen capture video file;
37 - and other optional application-specific files, for example, log files.
38
39For more information about using crash description XML and crash minidump, 
40see \ref using_crash_descriptor and \ref using_minidump.
41
42For information on how to automate error report processing with a web-server or 
43with a command-line tool, see \ref automating_crash_report_processing.
44
45*/