<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classcrashpad_1_1test_1_1TestExceptionSnapshot-members.html">List of all members</a></div>
<divclass="headertitle">
<divclass="title">crashpad::test::TestExceptionSnapshot Class Reference<spanclass="mlabels"><spanclass="mlabel">final</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>A test <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> that can carry arbitrary data for testing purposes.
<areahref="classcrashpad_1_1ExceptionSnapshot.html"title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t..."alt="crashpad::ExceptionSnapshot"shape="rect"coords="0,0,226,24"/>
<trclass="memdesc:a420112342e12f9b96c1d7748627ea56d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Obtains a pointer to the underlying mutable <aclass="el"href="structcrashpad_1_1CPUContext.html"title="A context structure capable of carrying the context of any supported CPU architecture. ">CPUContext</a> structure. <ahref="#a420112342e12f9b96c1d7748627ea56d">More...</a><br/></td></tr>
<trclass="memdesc:ad21a8c1b4eeea9094bcadece38dac86d"><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="#ad21a8c1b4eeea9094bcadece38dac86d">More...</a><br/></td></tr>
<trclass="memdesc:a7c566bf23ac2dea8c5a8dd8d0ad331ae"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the thread identifier of the thread that triggered the exception. <ahref="#a7c566bf23ac2dea8c5a8dd8d0ad331ae">More...</a><br/></td></tr>
<trclass="memdesc:a9f7c53797558f62660ed6196845bed59"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the top-level exception code identifying the exception. <ahref="#a9f7c53797558f62660ed6196845bed59">More...</a><br/></td></tr>
<trclass="memdesc:a96ebe0bf56492dfb4f753ea89ec3b6c6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the second-level exception code identifying the exception. <ahref="#a96ebe0bf56492dfb4f753ea89ec3b6c6">More...</a><br/></td></tr>
<trclass="memdesc:a7f07d1ae79512f60308d49d353dd46d3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the address that triggered the exception. <ahref="#a7f07d1ae79512f60308d49d353dd46d3">More...</a><br/></td></tr>
<trclass="memdesc:a9133ffb6eda55ef83b10e21c617142dc"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a series of operating system-specific exception codes. <ahref="#a9133ffb6eda55ef83b10e21c617142dc">More...</a><br/></td></tr>
<trclass="memdesc:a8dcc8870ce0912b83d6c98e1ce37df96"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump. <ahref="#a8dcc8870ce0912b83d6c98e1ce37df96">More...</a><br/></td></tr>
<divclass="textblock"><p>A test <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> that can carry arbitrary data for testing purposes. </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>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>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_1test_1_1TestExceptionSnapshot.html#a9133ffb6eda55ef83b10e21c617142dc"title="Returns a series of operating system-specific exception codes. ">Codes()</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>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_1test_1_1TestExceptionSnapshot.html#a9133ffb6eda55ef83b10e21c617142dc"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>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>Obtains a pointer to the underlying mutable <aclass="el"href="structcrashpad_1_1CPUContext.html"title="A context structure capable of carrying the context of any supported CPU architecture. ">CPUContext</a> structure. </p>
<p>This method is intended to be used by callers to populate the <aclass="el"href="structcrashpad_1_1CPUContext.html"title="A context structure capable of carrying the context of any supported CPU architecture. ">CPUContext</a> structure.</p>
<dlclass="section return"><dt>Returns</dt><dd>The same pointer that <aclass="el"href="classcrashpad_1_1test_1_1TestExceptionSnapshot.html#ad21a8c1b4eeea9094bcadece38dac86d"title="Returns a CPUContext object corresponding to the exception thread’s CPU context at the time of the e...">Context()</a> does, while treating the data as mutable.</dd></dl>
<dlclass="section attention"><dt>Attention</dt><dd>This returns a non-<code>const</code> pointer to this object’s private data so that a caller can populate the context structure directly. This is done because providing setter interfaces to each field in the context structure would be unwieldy and cumbersome. Care must be taken to populate the context structure correctly. </dd></dl>
<p>This value can be compared to <aclass="el"href="classcrashpad_1_1ThreadSnapshot.html#a21b11bab41a09226db8cdb6e629ebfc4"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>