crashpad/doc/generated/doxygen/classcrashpad_1_1ThreadSnapshot.html
2017-02-22 23:37:31 -05:00

310 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::ThreadSnapshot Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Crashpad
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html">ThreadSnapshot</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1ThreadSnapshot-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::ThreadSnapshot Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot process.
<a href="classcrashpad_1_1ThreadSnapshot.html#details">More...</a></p>
<p><code>#include &quot;snapshot/thread_snapshot.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::ThreadSnapshot:</div>
<div class="dyncontent">
<div class="center">
<img src="classcrashpad_1_1ThreadSnapshot.png" usemap="#crashpad::ThreadSnapshot_map" alt=""/>
<map id="crashpad::ThreadSnapshot_map" name="crashpad::ThreadSnapshot_map">
<area href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html" title="A ThreadSnapshot of a thread in a running (or crashed) process on a macOS system. ..." alt="crashpad::internal::ThreadSnapshotMac" shape="rect" coords="0,56,236,80"/>
<area href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html" title="A ThreadSnapshot of a thread in a running (or crashed) process on a Windows system. " alt="crashpad::internal::ThreadSnapshotWin" shape="rect" coords="246,56,482,80"/>
<area href="classcrashpad_1_1test_1_1TestThreadSnapshot.html" title="A test ThreadSnapshot that can carry arbitrary data for testing purposes. " alt="crashpad::test::TestThreadSnapshot" shape="rect" coords="492,56,728,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6e227ceaec1f06711d620a99631ec98a"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="structcrashpad_1_1CPUContext.html">CPUContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a6e227ceaec1f06711d620a99631ec98a">Context</a> () const =0</td></tr>
<tr class="memdesc:a6e227ceaec1f06711d620a99631ec98a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="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 threads CPU context. <a href="#a6e227ceaec1f06711d620a99631ec98a">More...</a><br /></td></tr>
<tr class="separator:a6e227ceaec1f06711d620a99631ec98a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0eadc03965ea69a6b0462f878dd628"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a4f0eadc03965ea69a6b0462f878dd628">Stack</a> () const =0</td></tr>
<tr class="memdesc:a4f0eadc03965ea69a6b0462f878dd628"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="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> object corresponding to the memory region that contains the threads stack, or <code>nullptr</code> if no stack region is available. <a href="#a4f0eadc03965ea69a6b0462f878dd628">More...</a><br /></td></tr>
<tr class="separator:a4f0eadc03965ea69a6b0462f878dd628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c953575fadb934cd5f163560df149da"><td class="memItemLeft" align="right" valign="top">virtual uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a3c953575fadb934cd5f163560df149da">ThreadID</a> () const =0</td></tr>
<tr class="memdesc:a3c953575fadb934cd5f163560df149da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threads identifier. <a href="#a3c953575fadb934cd5f163560df149da">More...</a><br /></td></tr>
<tr class="separator:a3c953575fadb934cd5f163560df149da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe00a7e9cbc55366a545700517762d5c"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#abe00a7e9cbc55366a545700517762d5c">SuspendCount</a> () const =0</td></tr>
<tr class="memdesc:abe00a7e9cbc55366a545700517762d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threads suspend count. <a href="#abe00a7e9cbc55366a545700517762d5c">More...</a><br /></td></tr>
<tr class="separator:abe00a7e9cbc55366a545700517762d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affbf3f8bee03bd703bc2833c4e714f70"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#affbf3f8bee03bd703bc2833c4e714f70">Priority</a> () const =0</td></tr>
<tr class="memdesc:affbf3f8bee03bd703bc2833c4e714f70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threads priority. <a href="#affbf3f8bee03bd703bc2833c4e714f70">More...</a><br /></td></tr>
<tr class="separator:affbf3f8bee03bd703bc2833c4e714f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53ede314313e2a7045c828ea3c6e7e27"><td class="memItemLeft" align="right" valign="top"><a id="a53ede314313e2a7045c828ea3c6e7e27"></a>
virtual uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a53ede314313e2a7045c828ea3c6e7e27">ThreadSpecificDataAddress</a> () const =0</td></tr>
<tr class="memdesc:a53ede314313e2a7045c828ea3c6e7e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the base address of a region used to store thread-specific data. <br /></td></tr>
<tr class="separator:a53ede314313e2a7045c828ea3c6e7e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a983c5e668ae54cbf8f4348f95da4afc8"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a983c5e668ae54cbf8f4348f95da4afc8">ExtraMemory</a> () const =0</td></tr>
<tr class="memdesc:a983c5e668ae54cbf8f4348f95da4afc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump. <a href="#a983c5e668ae54cbf8f4348f95da4afc8">More...</a><br /></td></tr>
<tr class="separator:a983c5e668ae54cbf8f4348f95da4afc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot process. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a6e227ceaec1f06711d620a99631ec98a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e227ceaec1f06711d620a99631ec98a">&#9670;&nbsp;</a></span>Context()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="structcrashpad_1_1CPUContext.html">CPUContext</a>* crashpad::ThreadSnapshot::Context </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a <a class="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 threads CPU context. </p>
<p>The caller does not take ownership of this object, it is scoped to the lifetime of the <a class="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 <a class="el" href="classcrashpad_1_1test_1_1TestThreadSnapshot.html#a3e5256fb87404928874cec4732cfb1df">crashpad::test::TestThreadSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#a940a3771e98c08da18307b2309ca7357">crashpad::internal::ThreadSnapshotWin</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#a063a6cf88d16769775ddf98c7d8abf6a">crashpad::internal::ThreadSnapshotMac</a>.</p>
</div>
</div>
<a id="a983c5e668ae54cbf8f4348f95da4afc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a983c5e668ae54cbf8f4348f95da4afc8">&#9670;&nbsp;</a></span>ExtraMemory()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a>*&gt; crashpad::ThreadSnapshot::ExtraMemory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a vector of additional memory blocks that should be included in a minidump. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of <a class="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 <a class="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 <a class="el" href="classcrashpad_1_1test_1_1TestThreadSnapshot.html#af49ca1418d7436492c49949f2fc73a31">crashpad::test::TestThreadSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#a00c30606d4e1a7a8f43b4c89b3fc4e8e">crashpad::internal::ThreadSnapshotWin</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#aa0af4437ee557f500f61b88c8a9a4b22">crashpad::internal::ThreadSnapshotMac</a>.</p>
</div>
</div>
<a id="affbf3f8bee03bd703bc2833c4e714f70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affbf3f8bee03bd703bc2833c4e714f70">&#9670;&nbsp;</a></span>Priority()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int crashpad::ThreadSnapshot::Priority </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the threads priority. </p>
<p>Threads with higher priorities will have higher priority values. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestThreadSnapshot.html#a67070917d0ea0d06845b345f63aa2a0e">crashpad::test::TestThreadSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#a84dae6824c9bda4fe6d459ea032dd28a">crashpad::internal::ThreadSnapshotWin</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#a8c417edf90e36f67a6f8e0b76bfbdee5">crashpad::internal::ThreadSnapshotMac</a>.</p>
</div>
</div>
<a id="a4f0eadc03965ea69a6b0462f878dd628"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f0eadc03965ea69a6b0462f878dd628">&#9670;&nbsp;</a></span>Stack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a>* crashpad::ThreadSnapshot::Stack </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a <a class="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> object corresponding to the memory region that contains the threads stack, or <code>nullptr</code> if no stack region is available. </p>
<p>The caller does not take ownership of this object, it is scoped to the lifetime of the <a class="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 <a class="el" href="classcrashpad_1_1test_1_1TestThreadSnapshot.html#a47ec986683a5aed362ecba9f092c61bf">crashpad::test::TestThreadSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#ac069bf4439cbb2be3b243460d7717826">crashpad::internal::ThreadSnapshotWin</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#a5b63ca812f667219928f2f0dd3f9d846">crashpad::internal::ThreadSnapshotMac</a>.</p>
</div>
</div>
<a id="abe00a7e9cbc55366a545700517762d5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe00a7e9cbc55366a545700517762d5c">&#9670;&nbsp;</a></span>SuspendCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int crashpad::ThreadSnapshot::SuspendCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the threads suspend count. </p>
<p>A suspend count of <code>0</code> denotes a schedulable (not suspended) thread. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestThreadSnapshot.html#aa14d795531c637056d3312cf2b38a9e7">crashpad::test::TestThreadSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#ad0f0966f362f6e02f59d3aa436990a15">crashpad::internal::ThreadSnapshotWin</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#ab285ef89616ae6c9a48a9052bd917e37">crashpad::internal::ThreadSnapshotMac</a>.</p>
</div>
</div>
<a id="a3c953575fadb934cd5f163560df149da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c953575fadb934cd5f163560df149da">&#9670;&nbsp;</a></span>ThreadID()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual uint64_t crashpad::ThreadSnapshot::ThreadID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the threads identifier. </p>
<p>Thread identifiers are at least unique within a process, and may be unique system-wide. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestThreadSnapshot.html#aa7a31f691da452e9935c70c5e17901d9">crashpad::test::TestThreadSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotWin.html#aaedbdde56b7ba7c6c271758da0fcb1e2">crashpad::internal::ThreadSnapshotWin</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotMac.html#a081cae888e8e625929cfdda333eb9966">crashpad::internal::ThreadSnapshotMac</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>snapshot/thread_snapshot.h</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>