<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classcrashpad_1_1internal_1_1ExceptionSnapshotLinux-members.html">List of all members</a></div>
<divclass="headertitle">
<divclass="title">crashpad::internal::ExceptionSnapshotLinux Class Reference<spanclass="mlabels"><spanclass="mlabel">final</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>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> of an signal received by a running (or crashed) process on a Linux system.
<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,256,24"/>
<trclass="memdesc:af77cb9e98dd351eea426d6bcb2358dda"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes the object. <ahref="#af77cb9e98dd351eea426d6bcb2358dda">More...</a><br/></td></tr>
<trclass="memdesc:abbd1bf5416a23d3416f709873509b36b"><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="#abbd1bf5416a23d3416f709873509b36b">More...</a><br/></td></tr>
<trclass="memdesc:a7f1befd18a82340f4f7edd550cb35af2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the thread identifier of the thread that triggered the exception. <ahref="#a7f1befd18a82340f4f7edd550cb35af2">More...</a><br/></td></tr>
<trclass="memdesc:a56eca1b067ef859926c56d25e0b208b2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the top-level exception code identifying the exception. <ahref="#a56eca1b067ef859926c56d25e0b208b2">More...</a><br/></td></tr>
<trclass="memdesc:adf6edc2ae286986027ebda04c53d25f7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the second-level exception code identifying the exception. <ahref="#adf6edc2ae286986027ebda04c53d25f7">More...</a><br/></td></tr>
<trclass="memdesc:ace9d4fa78bf7fd8fea2ce15488653940"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the address that triggered the exception. <ahref="#ace9d4fa78bf7fd8fea2ce15488653940">More...</a><br/></td></tr>
<trclass="memdesc:a744d4246a913757956bf2d66c064736a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a series of operating system-specific exception codes. <ahref="#a744d4246a913757956bf2d66c064736a">More...</a><br/></td></tr>
<trclass="memdesc:ada5fcf76174d3b2ed781b3d87f36ae9f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump. <ahref="#ada5fcf76174d3b2ed781b3d87f36ae9f">More...</a><br/></td></tr>
<divclass="textblock"><p>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> of an signal received by a running (or crashed) process on a Linux system. </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 macOS, 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>Returns the top-level exception code identifying the exception. </p>
<p>This is an operating system-specific value.</p>
<p>For macOS, this will be an <aclass="el"href="mach_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_1internal_1_1ExceptionSnapshotLinux.html#a744d4246a913757956bf2d66c064736a"title="Returns a series of operating system-specific exception codes. ">Codes()</a>.</p>
<p>For Windows, this will be an <code>EXCEPTION_*</code> exception type, such as <code>EXCEPTION_ACCESS_VIOLATION</code>. </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 macOS, 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 macOS, 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>
</ul>
<p>In all cases on macOS, the full exception code at index 0 as it was received will appear at index 1 of <aclass="el"href="classcrashpad_1_1internal_1_1ExceptionSnapshotLinux.html#a744d4246a913757956bf2d66c064736a"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>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">process_reader</td><td>A <aclass="el"href="classcrashpad_1_1ProcessReaderLinux.html"title="Accesses information about another process, identified by a process ID. ">ProcessReaderLinux</a> for the process that received the signal. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">siginfo_address</td><td>The address in the target process' address space of the siginfo_t passed to the signal handler. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">context_address</td><td>The address in the target process' address space of the ucontext_t passed to the signal handler. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">thread_id</td><td>The thread ID of the thread that received the signal.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> if the snapshot could be created, <code>false</code> otherwise with an appropriate message logged. </dd></dl>
<p>Returns the thread identifier of the thread that triggered the exception. </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>