Breakpad:Current Implementation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(first edit)
 
Line 4: Line 4:


= Client Side =
= Client Side =
Currently Breakpad work in Mozilla has only progressed on Win32.
Currently Breakpad work in Mozilla has only progressed on Win32.  An OS X implementation is available in the Breakpad source.  Linux patches are in progress, but not yet available.


== Symbol Extraction/Upload ==
== Symbol Extraction/Upload ==
Line 20: Line 20:
== Exception Handler ==
== Exception Handler ==
== Crash Reporter Client ==
== Crash Reporter Client ==
= Server Side =
= Server Side =
== Symbol Store ==
== Symbol Store ==
== Crash Report Collector ==
== Crash Report Collector ==
== Crash Report Viewer ==
== Crash Report Viewer ==

Revision as of 16:40, 6 March 2007

« back to Airbag main page

This is a summary of the current state of Breakpad integration into Mozilla.

Client Side

Currently Breakpad work in Mozilla has only progressed on Win32. An OS X implementation is available in the Breakpad source. Linux patches are in progress, but not yet available.

Symbol Extraction/Upload

Symbol extraction and upload is done at build time. There are two targets in the top level Makefile, buildsymbols and uploadsymbols.

The |buildsymbols| target finds PDB files associated with EXE and DLL files in $(DIST), and processes them with dump_syms.exe to get a SYM file for each, using the make_symbol_store.pl script. The SYM files and PDB files are both placed in $(DIST)/airbag-symbols/$(BUILDID) in the directory structure used for the Microsoft Symbol Server. A description of this directory structure can be found in the Breakpad source. The symbols are then compressed into a .tar.bz2 file, in a dated directory alongside the top source directory.

The |uploadsymbols| target simply calls the upload_symbols.sh script to upload the symbols using rsync. This script relies on certain environment variables being set:

  • AIRBAG_SYMBOL_SERVER  : host to upload symbols to
  • AIRBAG_SYMBOL_USER  : username on that host
  • AIRBAG_SYMBOL_PATH  : path on that host to put symbols in

The symbols are copied to the symbol server and untarred into the specified path.

Exception Handler

Crash Reporter Client

Server Side

Symbol Store

Crash Report Collector

Crash Report Viewer