Confirmed users
321
edits
Line 20: | Line 20: | ||
== Exception Handler == | == Exception Handler == | ||
The exception handler is set [http://mxr.mozilla.org/seamonkey/source/toolkit/xre/nsAppRunner.cpp#2209 in XRE_Main] by calling [http://mxr.mozilla.org/seamonkey/source/toolkit/airbag/nsAirbagExceptionHandler.cpp# | The exception handler is set [http://mxr.mozilla.org/seamonkey/source/toolkit/xre/nsAppRunner.cpp#2209 in XRE_Main] by calling [http://mxr.mozilla.org/seamonkey/source/toolkit/airbag/nsAirbagExceptionHandler.cpp#203 SetExceptionHandler()]. The exception handler is not actually installed unless the MOZ_AIRBAG environment variable is set to a non-zero value. The code in XRE_Main then sets some additional data (currently Vendor, ProductName, Version and BuildID) by calling [http://mxr.mozilla.org/seamonkey/source/toolkit/airbag/nsAirbagExceptionHandler.cpp#342 AnnotateCrashReport]. Once a profile has been found, a "minidumps" directory is located or created in the profile directory, and [http://mxr.mozilla.org/seamonkey/source/toolkit/xre/nsAppRunner.cpp#2622 this path is passed] to [http://mxr.mozilla.org/seamonkey/source/toolkit/airbag/nsAirbagExceptionHandler.cpp#261 SetMinidumpPath()] as the destination for minidump files from the exception handler. | ||
Upon catching an exception, the handler [http://mxr.mozilla.org/seamonkey/source/toolkit/airbag/nsAirbagExceptionHandler.cpp#78 attempts to execute crashreporter.exe] from the same directory as the current executable. The full path to the minidump file is passed in as a command line parameter. The application then exits. | Upon catching an exception, the handler writes the additional data set using AnnotateCrashReport out to a file with the same base name as the minidump, but with a ".extra" extension. [http://mxr.mozilla.org/seamonkey/source/toolkit/airbag/nsAirbagExceptionHandler.cpp#78 attempts to execute crashreporter.exe] from the same directory as the current executable. The full path to the minidump file is passed in as a command line parameter. The application then exits. | ||
== Crash Reporter Client == | == Crash Reporter Client == |