<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classcrashpad_1_1CrashReportExceptionHandler-members.html">List of all members</a></div>
<divclass="headertitle">
<divclass="title">crashpad::CrashReportExceptionHandler Class Reference</div></div>
</div><!--header-->
<divclass="contents">
<p>An exception handler that writes crash reports for exception messages to a <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html"title="An interface for managing a collection of crash report files and metadata associated with the crash r...">CrashReportDatabase</a>.
<areahref="classcrashpad_1_1UniversalMachExcServer_1_1Interface.html"title="An interface that the different request messages that are a part of the exc and mach_exc Mach subsyst..."alt="crashpad::UniversalMachExcServer::Interface"shape="rect"coords="282,0,554,24"/>
<trclass="memdesc:a8a8370bde381637feb46d4095e047303"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Creates a new object that will store crash reports in <em>database</em>. <ahref="#a8a8370bde381637feb46d4095e047303">More...</a><br/></td></tr>
<trclass="memdesc:a98ecf7abdf0a99fe30b6fa7116649bee"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Processes an exception message by writing a crash report to this object’s <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html"title="An interface for managing a collection of crash report files and metadata associated with the crash r...">CrashReportDatabase</a>. <br/></td></tr>
<trclass="memdesc:a8a8370bde381637feb46d4095e047303"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Creates a new object that will store crash reports in <em>database</em>. <ahref="#a8a8370bde381637feb46d4095e047303">More...</a><br/></td></tr>
<trclass="memdesc:aced3c98628a1f723dbd7952f8e3b421f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Processes an exception message by writing a crash report to this object's <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html"title="An interface for managing a collection of crash report files and metadata associated with the crash r...">CrashReportDatabase</a>. <br/></td></tr>
<trclass="memdesc:a1dcfab1bbc889f638b828bd5af296e62"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Called when the client has signalled that it has encountered an exception and so wants a crash dump to be taken. <ahref="#a1dcfab1bbc889f638b828bd5af296e62">More...</a><br/></td></tr>
<divclass="textblock"><p>An exception handler that writes crash reports for exception messages to a <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html"title="An interface for managing a collection of crash report files and metadata associated with the crash r...">CrashReportDatabase</a>. </p>
</div><h2class="groupheader">Constructor & Destructor Documentation</h2>
<p>Creates a new object that will store crash reports in <em>database</em>. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">database</td><td>The database to store crash reports in. Weak. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">upload_thread</td><td>The upload thread to notify when a new crash report is written into <em>database</em>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">process_annotations</td><td>A map of annotations to insert as process-level annotations into each crash report that is written. Do not confuse this with module-level annotations, which are under the control of the crashing process, and are used to implement Chrome’s “crash keys.” Process-level annotations are those that are beyond the control of the crashing process, which must reliably be set even if the process crashes before it’s able to establish its own annotations. To interoperate with Breakpad servers, the recommended practice is to specify values for the <code>"prod"</code> and <code>"ver"</code> keys as process annotations. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">user_stream_data_sources</td><td>Data sources to be used to extend crash reports. For each crash report that is written, the data sources are called in turn. These data sources may contribute additional minidump streams. <code>nullptr</code> if not required. </td></tr>
<p>Creates a new object that will store crash reports in <em>database</em>. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">database</td><td>The database to store crash reports in. Weak. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">upload_thread</td><td>The upload thread to notify when a new crash report is written into <em>database</em>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">process_annotations</td><td>A map of annotations to insert as process-level annotations into each crash report that is written. Do not confuse this with module-level annotations, which are under the control of the crashing process, and are used to implement Chrome's "crash keys." Process-level annotations are those that are beyond the control of the crashing process, which must reliably be set even if the process crashes before it's able to establish its own annotations. To interoperate with Breakpad servers, the recommended practice is to specify values for the <code>"prod"</code> and <code>"ver"</code> keys as process annotations. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">user_stream_data_sources</td><td>Data sources to be used to extend crash reports. For each crash report that is written, the data sources are called in turn. These data sources may contribute additional minidump streams. <code>nullptr</code> if not required. </td></tr>
<p>Called when the client has signalled that it has encountered an exception and so wants a crash dump to be taken. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">process</td><td>A handle to the client process. Ownership of the lifetime of this handle is not passed to the delegate. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">exception_information_address</td><td>The address in the client's address space of an <aclass="el"href="structcrashpad_1_1ExceptionInformation.html"title="Structure read out of the client process by the crash handler when an exception occurs. ">ExceptionInformation</a> structure. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">debug_critical_section_address</td><td>The address in the client's address space of a <code>CRITICAL_SECTION</code> allocated with a valid <code>.DebugInfo</code> field, or <code>0</code> if unavailable. </td></tr>