Crash reporting is a technique allowing to receive user feedback and improve quality and stability of your client application.
A end user is a person who downloads and installs your client application on his/her machine running Windows operating system. A end user may be located in any country of the world. If a critical error occurs in your client application on end user's machine, you may have no easy way to request the details.
A Crash Reporting Library is a Windows application written in C++ language and built in Visual C++ IDE. The purpose of the crash reporting library is to intercept critical errors (exceptions) in your client application, arising on end user's machine, generate crash reports and send those reports over the network to CrashFix server.
CrashFix software is a server system. It installs and runs on the server infrastructure of your choice. Its purpose is to receive crash reports sent by the crash reporting library, process and store them, and to provide graphical user interface to CrashFix users.
A CrashFix user is a person who has an account in CrashFix web application. A CrashFix user may be assigned certain permissions and project roles, and can log into CrashFix web application using a web browser and perform some actions.
The figure below illustrates the components schematically:
CrashFix Components
The CrashFix service processes incoming crash reports and debugging symbol files. Also, the service's work is to send pending mail messages to CrashFix users.
The only component interacting with CrashFix service is the web application. CrashFix users can not access the service directly, they can access the web application only.
The web application is a PHP website that allows CrashFix users to perform administrative and daily usage tasks through a web browser application, such as Internet Explorer, Mozilla Firefox or Google Chrome. The web application allows multiple users to access CrashFix concurrently, browse and manage crash reports, debugging symbols, bugs and other.
The uploader application exists in two flavors: as GUI application and as a console application. The GUI application is more easy to use. The console application, however, is applicable for automating symbol uploading procedure.
The crash reporting library component is not a part of CrashFix distribution, this is a third-party software downloaded separately and distributed under a separate license.
CrashFix currently supports one such a library called CrashRpt. CrashRpt is a free and open-source library distributed under the New BSD License. It can be used in both commercial and open-source applications, with or without modifications. More the details on integration with CrashRpt library can be found on Client-Side Integration page.
Further reading: Installation.