<areahref="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html"title="An ExceptionSnapshot of an exception sustained by a running (or crashed) process on a Mac OS X system..."alt="crashpad::internal::ExceptionSnapshotMac"shape="rect"coords="0,56,251,80"/>
<areahref="classcrashpad_1_1test_1_1TestExceptionSnapshot.html"title="A test ExceptionSnapshot that can carry arbitrary data for testing purposes. "alt="crashpad::test::TestExceptionSnapshot"shape="rect"coords="522,56,773,80"/>
<trclass="memdesc:a9ba62f24e17805f436feda32c01f353e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a <aclass="el"href="structcrashpad_1_1CPUContext.html"title="A context structure capable of carrying the context of any supported CPU architecture. ">CPUContext</a> object corresponding to the exception thread’s CPU context at the time of the exception. <ahref="#a9ba62f24e17805f436feda32c01f353e">More...</a><br/></td></tr>
<trclass="memdesc:aef11b2d8ffb00bb38688e09c0b62ac51"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the thread identifier of the thread that triggered the exception. <ahref="#aef11b2d8ffb00bb38688e09c0b62ac51">More...</a><br/></td></tr>
<trclass="memdesc:af73f1ae2f0572a10bd1b62dee1472607"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the top-level exception code identifying the exception. <ahref="#af73f1ae2f0572a10bd1b62dee1472607">More...</a><br/></td></tr>
<trclass="memdesc:ae1c97187c37fa378252415f7f3b4e6cb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the second-level exception code identifying the exception. <ahref="#ae1c97187c37fa378252415f7f3b4e6cb">More...</a><br/></td></tr>
<trclass="memdesc:a12bf01b499037e2ad642d5e131f23f86"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the address that triggered the exception. <ahref="#a12bf01b499037e2ad642d5e131f23f86">More...</a><br/></td></tr>
<trclass="memdesc:a1b98ff58b73e105c39ccba39dad5a2d7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a series of operating system-specific exception codes. <ahref="#a1b98ff58b73e105c39ccba39dad5a2d7">More...</a><br/></td></tr>
<trclass="memdesc:a85e992db62e56bc47242a186b94208f4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump. <ahref="#a85e992db62e56bc47242a186b94208f4">More...</a><br/></td></tr>
<divclass="textblock"><p>An abstract interface to a snapshot representing an exception that a snapshot process sustained and triggered the snapshot being taken. </p>
</div><h2class="groupheader">Member Function Documentation</h2>
<p>Returns a series of operating system-specific exception codes. </p>
<p>The precise interpretation of these codes is specific to the snapshot operating system. These codes may provide a duplicate of information available elsewhere, they may extend information available elsewhere, or they may not be present at all. In this case, an empty vector will be returned.</p>
<p>For Mac OS X, this will be a vector containing the original exception type and the values of <code>code[0]</code> and <code>code[1]</code> as received by a Mach exception handler.</p>
<p>For Windows, these are additional arguments (if any) as provided to <code>RaiseException()</code>. See the documentation for <code><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></code> in <code>EXCEPTION_RECORD</code>. </p>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#a9e062aaf208e2e20ba68b407b9bfd950">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#afd83da0b687967809bbe2bb663b57298">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#a3179b8de3f86e150cf6d1d3078dd8109">crashpad::internal::ExceptionSnapshotMac</a>.</p>
<p>Returns a <aclass="el"href="structcrashpad_1_1CPUContext.html"title="A context structure capable of carrying the context of any supported CPU architecture. ">CPUContext</a> object corresponding to the exception thread’s CPU context at the time of the exception. </p>
<p>The caller does not take ownership of this object, it is scoped to the lifetime of the <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html"title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> object that it was obtained from. </p>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#ab4c2e6947c052aa9d0ded95b5be72de1">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#ae199229ad7ab258d823fcb86cae9bd17">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#aeebb43d42ba7f1eacd06bc82399055cd">crashpad::internal::ExceptionSnapshotMac</a>.</p>
<p>For Mac OS X, this will be an <aclass="el"href="non__mac_2mach_2mach_8h.html#EXC_x">EXC_*</a> exception type, such as <code>EXC_BAD_ACCESS</code>. <code>EXC_CRASH</code> will not appear here for exceptions processed as <code>EXC_CRASH</code> when generated from another preceding exception: the original exception code will appear instead. The exception type as it was received will appear at index 0 of <aclass="el"href="classcrashpad_1_1ExceptionSnapshot.html#a1b98ff58b73e105c39ccba39dad5a2d7"title="Returns a series of operating system-specific exception codes. ">Codes()</a>.</p>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#a8083efff504bd812e2de87bfbf3d9547">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#afa83c6fa95e27e90b29f0b537c561094">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#a12e7d80c0c92e30df5f90d6386b92c3f">crashpad::internal::ExceptionSnapshotMac</a>.</p>
<p>Returns the address that triggered the exception. </p>
<p>This may be the address that caused a fault on data access, or it may be the instruction pointer that contained an offending instruction. For exceptions where this value cannot be determined, it will be <code>0</code>.</p>
<p>For Mac OS X, this will be the value of the exception code at index 1 as received by a Mach exception handler. </p>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#a8d42e828a3f6768b21114fc1f20c03d3">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#aa770edbae31d5d00af25d1101a1ca51d">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#a1dd9dba7bdf05e485d4307d05d0d1c13">crashpad::internal::ExceptionSnapshotMac</a>.</p>
<p>Returns the second-level exception code identifying the exception. </p>
<p>This is an operating system-specific value.</p>
<p>For Mac OS X, this will be the value of the exception code at index 0 as received by a Mach exception handler, except:</p><ul>
<li>For <code>EXC_CRASH</code> exceptions generated from another preceding exception, the original exception code will appear here, not the code as received by the Mach exception handler.</li>
<li>For <code>EXC_RESOURCE</code> and <code>EXC_GUARD</code> exceptions, the high 32 bits of the exception code at index 0 will appear here.</li>
<p>In all cases on Mac OS X, the full exception code at index 0 as it was received will appear at index 1 of <aclass="el"href="classcrashpad_1_1ExceptionSnapshot.html#a1b98ff58b73e105c39ccba39dad5a2d7"title="Returns a series of operating system-specific exception codes. ">Codes()</a>.</p>
<p>On Windows, this will either be <code>0</code> if the exception is continuable, or <code>EXCEPTION_NONCONTINUABLE</code> to indicate a noncontinuable exception. </p>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#a5977dded1385688030a667ac1fafaa51">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#a28c1706545fcac448a770e09341d92ea">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#a9ab56e1477da32b5d017b6603aed9c87">crashpad::internal::ExceptionSnapshotMac</a>.</p>
<p>Returns a vector of additional memory blocks that should be included in a minidump. </p>
<dlclass="section return"><dt>Returns</dt><dd>A vector of <aclass="el"href="classcrashpad_1_1MemorySnapshot.html"title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> objects that will be included in the crash dump. The caller does not take ownership of these objects, they are scoped to the lifetime of the <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html"title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> object that they were obtained from. </dd></dl>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#af4e67f7a996f10eee640dabf1833fd6c">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#a7b4aaefa471d5c0fde691e26ec7439a8">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#a724cfd55bfd6b2f18e1148141d4ffbaa">crashpad::internal::ExceptionSnapshotMac</a>.</p>
<p>This value can be compared to <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html#a3c953575fadb934cd5f163560df149da"title="Returns the thread’s identifier. ">ThreadSnapshot::ThreadID()</a> to associate an <aclass="el"href="classcrashpad_1_1ExceptionSnapshot.html"title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a> object with the <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html"title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> that contains a snapshot of the thread that triggered the exception. </p>
<p>Implemented in <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotWin.html#a140f74a35257a73faca6b0e2d8f04f44">crashpad::internal::ExceptionSnapshotWin</a>, <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#a94d06ac7c4022fbff1acd2c37cb85e54">crashpad::test::TestExceptionSnapshot</a>, and <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotMac.html#a3685b418dfcf4bafc81b81dbb8b80db9">crashpad::internal::ExceptionSnapshotMac</a>.</p>