|This article needs additional citations for verification. (March 2008)|
A crash reporter is an application whose function is to report crash details. Crash reports often include data such as stack traces, type of crash, and version of software. This information helps software developers to diagnose and fix the underlying problem causing the crash.
Mac OS X
In Mac OS X there is a standard crash reporter in /System/Library/CoreServices/Crash Reporter.app. Crash Reporter.app sends the Unix crash logs to Apple Computer for their engineers to look at. The top text field of the window has the crash log, while the bottom field is for user comments. Users may also copy and paste the log in their email client to send to the application vendor for them to use. Crash Reporter.app has 3 main modes: display nothing on crash, display "Application has crashed" dialog box or display Crash Report window.
Microsoft Windows includes a crash reporting service called Windows Error Reporting that prompts users to send crash reports to Microsoft for online analysis. The information goes to a central database run by Microsoft. It consists of diagnostic information that helps the company or development team responsible for the crash to debug and resolve the issue if they choose to do so. Crash reports for third party software are available to third party developers who have been granted access by Microsoft.
Windows probably contains the most sophisticated form of Online Crash Analysis (OCA) to date where the central database can be set up to gather additional information from users that are experiencing a particular type of crash (through user approval). The system considers all parts of the debug and release process, such that targeted bug fixes can be applied through Windows Update. In other words, only people experiencing a particular type of crash can be offered the bug fix, thus limiting exposure to an issue.
According to Der Spiegel, the Microsoft crash reporter has been exploited by NSA's TAO unit to hack into the computers of Mexico's Secretariat of Public Security. According to the same source, Microsoft crash reports are automatically harvested in NSA's XKeyscore database, in order to facilitate such operations.
Bug Buddy is the crash reporting tool used by the GNOME platform. When an application using the GNOME libraries crashes, Bug Buddy generates a stack trace using gdb and invites the user to submit the report to the GNOME bugzilla. The user can add comments and view the details of the crash report.
The crash reporting tool used by KDE is called Dr. Konqi. The user can also get a backtrace using gdb.
|This section requires expansion. (June 2008)|
Talkback (also known as the Quality Feedback Agent) was the crash reporter used by Mozilla software up to version 1.8.1 to report crashes of its products to a centralized server for aggregation or case-by-case analysis. Talkback is proprietary software licensed to the Mozilla Corporation by SupportSoft. If a Mozilla product (e.g. Mozilla Firefox, Mozilla Thunderbird) were to crash with Talkback enabled, the Talkback agent would appear, prompting the user to provide optional information regarding the crash. Talkback does not replace the native OS crash reporter which, if enabled, will appear along with the Talkback agent. Talkback has been replaced by Breakpad in Firefox since version 3.
Breakpad (previously called Airbag) is an open-source replacement for Talkback. Developed by Google and Mozilla, it is used in current Mozilla products such as Firefox and Thunderbird. Its significance is being the first open source multi-platform crash reporting system.
Breakpad itself is only part of a crash reporting system, as it includes no reporting mechanism.
Founded in 2003, BugSplat is a popular tool software developers use to track end-user crashes in their software applications. BugSplat enables an application to capture crashes and post diagnostic reports to the BugSplat Server. This gives development teams an accurate depiction of the stability of their application.
BugSplat is a multi-platform crash reporting solution, capable of supporting Native Windows Applications, Microsoft .NET Managed Applications, Java Applications, and Apple Mac OS X Cocoa Applications.
|This section requires expansion. (June 2008)|
Apport works by installing a userspace helper which intercepts user processes when they would usually dump core, and writes crash reports to a staging location. A user daemon then invites the user to submit new crash reports to Ubuntu for analysis. Apport is disabled by default on official end-user-facing releases of Ubuntu.
ABRT - Automated Bug-Reporting Tool
Distro-independent while as of 2013[update] deployed only on Fedora and Red Hat Enterprise Linux distributions, ABRT - Automated Bug-Reporting Tool, intercepts core dumps from applications and (after user-confirmation) sends bug reports to various bug-tracking systems, such as Fedora Bugzilla.
World of Warcraft
World of Warcraft is another program to use its own crash reporter, "Error Reporter". The error reporter may not detect crashes all the time; sometimes the OS crash reporter is invoked instead. Error Reporter has even been known to crash while reporting errors.
Another error reporting library for Windows is CrashRpt. CrashRpt library is a light-weight open source error handling framework for applications created in Microsoft Visual C++ and running under Windows. The library is distributed under New BSD License.
CrashRpt intercepts unhandled exceptions, creates a crash minidump file, builds a crash descriptor in XML format, presents an interface to allow user to review the crash report, and finally it compresses and sends the crash report to the software support team.
CrashRpt also provides a server-side command line tool for crash report analysis named crprober. The tool is able to read all received crash reports from a directory and generate a summary file in text format for each crash report. It also groups similar crash reports making it easier to determine the most popular problems. The crprober tool does not provide any graphical interface, so it is rather cryptic and difficult to use.
There is also a commercial server software named CrashFix Server that can store, organize and analyze crash reports sent by CrashRpt library. It can group similar crash reports, has a built-in bug tracker and can generate statistical reports. CrashFix server provides a web-based user interface making it possible for several project members to collaborate (upload debugging symbols, browse crash reports and associate bugs with crash reports).
The Android and iOS operating systems also have built in crash reporting functionality. However, the built in crash reporting is slow. On the other hand there are commercial crash reporting tools available, which can be used to get the crash details instantly. These commercial tools offer other features too.
15. Keynote Systems
- Using Microsoft Online Crash Analysis
- "Mozilla Talkback server". Retrieved 2006-09-21.
- Deploying the Airbag. BSBlog (Mozilla developer Benjamin Smedberg's weblog).
- Using Breakpad with Gran Paradiso (1.9a3). BSBlog (Mozilla developer Benjamin Smedberg's weblog).
- Bug 381099 – Turn on crash reporting by default (Win+Mac), mozilla.org bug tracker.
- "EdgyReleaseNotes". Retrieved 2007-02-14.
- "Apport". Ubuntu Wiki. Retrieved 2007-02-14.
- "New Android app crash report tool already up and running". Retrieved 2011-06-04.
- "Technical Note TN2151". Retrieved 2011-06-04.