Breakpad:Current Implementation: Difference between revisions

google code to github
(tweak)
(google code to github)
 
(3 intermediate revisions by 2 users not shown)
Line 13: Line 13:
The exception handler is set in <code>XRE_Main</code>, so any app using that as an entry point can use it simply by setting some values in application.ini.  [http://bonsai.mozilla.org/cvsblame.cgi?file=/mozilla/browser/app/application.ini&rev=1.10&mark=55-59#55  See the Firefox application.ini] for an example.
The exception handler is set in <code>XRE_Main</code>, so any app using that as an entry point can use it simply by setting some values in application.ini.  [http://bonsai.mozilla.org/cvsblame.cgi?file=/mozilla/browser/app/application.ini&rev=1.10&mark=55-59#55  See the Firefox application.ini] for an example.


There is an API for adding extra data to the crash report, implemented using the [http://mxr.mozilla.org/mozilla/source/toolkit/airbag/nsICrashReporter.idl nsICrashReporter] interface.  Note that the server must be modified to handle additional data.
There is an API for adding extra data to the crash report, implemented using the [http://mxr.mozilla.org/mozilla/source/toolkit/crashreporter/nsICrashReporter.idl nsICrashReporter] interface.  Note that the server must be modified to handle additional data.


Upon handling an exception, a minidump is written, and then the data added using <code>annotateCrashReport</code> is written to a file with a .extra extension alongside the minidump.  The crash reporter client is then launched with the minidump filename as the sole parameter.
Upon handling an exception, a minidump is written, and then the data added using <code>annotateCrashReport</code> is written to a file with a .extra extension alongside the minidump.  The crash reporter client is then launched with the minidump filename as the sole parameter.
Line 19: Line 19:
== Crash Reporter Client ==
== Crash Reporter Client ==


The [http://mxr.mozilla.org/mozilla/source/toolkit/airbag/client/ crash reporter client] will display the contents of the .extra file for the user to view, and allow the user to submit a report.  The client can also restart the crashed application.  The client stores reports in a directory structure [http://kb.mozillazine.org/Breakpad#Location_of_crash_reports explained here].  Reports that have not yet been submitted are stored in <code>pending</code>, and successful reports have a text file with information about the report placed in <code>submitted</code>.
The [http://mxr.mozilla.org/mozilla/source/toolkit/crashreporter/ crash reporter client] will display the contents of the .extra file for the user to view, and allow the user to submit a report.  The client can also restart the crashed application.  The client stores reports in a directory structure [http://kb.mozillazine.org/Breakpad#Location_of_crash_reports explained here].  Reports that have not yet been submitted are stored in <code>pending</code>, and successful reports have a text file with information about the report placed in <code>submitted</code>.


= Server Side =
= Server Side =




Information about the server can be found at [http://code.google.com/p/socorro/ the Socorro Google Code page].  The Mozilla instance is located at http://crash-stats.mozilla.com/ .
Information about the server can be found at [https://github.com/mozilla/socorro/ the Socorro Github page].  The Mozilla instance is located at http://crash-stats.mozilla.com/ .
canmove, Confirmed users
1,511

edits