Logo crashrpt
A crash reporting system for Windows applications

Architecture Overview

CrashRpt consists of two kinds of functionality: error reporting functionality and error report analyzis functionality. Error reporting functionality is distributed with a client software and responsible for handling exceptions in the client software and deliverying error reports to the developer.

Error report analyzis functionality is designed to help the developer to extract data contained in error reports and to simplify error report analyzis. It is usually located at the side of the developer and not distributed with the client software.

architecture.png

CrashRpt Architecture

Error Reporting Functionality

Error reporting functionality consists of two core modules: CrashRpt.dll and CrashSender.exe.

Note:
Actually, CrashRpt files have version suffices, for example CrashRpt1400.dll, CrashSender1400.exe. In some places of the documentation we will omit these suffices for simplicity.
Two modules are needed to be able to close the application that crashes and to continue sending error report through CrashSender.exe in background.

Typically a process (executable file) loads CrashRpt.dll into its address space when process starts. This single instance of CrashRpt is shared between all DLL modules that are loaded into the process' address space.

Client application uses CrashRpt Functions to set exception handlers in the process once, typically in its main() (or WinMain()) function. In a multi-threaded program, client additionally sets exception handlers in the beginning of the thread procedure of each worker thread. For additional info, see Using CrashRpt API.

Error Report Analyzis Functionality

Error report analyzis functionality consists of two modules:

When you receive many error reports from users of your software, you would have to spend a lot of time to open each report, analyze its contents and write some summary about the report. There may be many reports related to the same problem, so opening such reports doesn't tell anything new. The error report analyzis functionality is designed to address these problems. For additional information, see Analyzing Error Reports.

Further reading: About an Error Report.


Generated on Wed Apr 29 10:17:30 2015 for CrashRpt by doxygen 1.5.9