<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::internal::ThreadSnapshotLinux 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.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</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="namespacecrashpad_1_1internal.html">internal</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html">ThreadSnapshotLinux</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_1internal_1_1ThreadSnapshotLinux-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::internal::ThreadSnapshotLinux Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A <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> of a thread on a Linux system.  
 <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#details">More...</a></p>

<p><code>#include &quot;snapshot/linux/thread_snapshot_linux.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::internal::ThreadSnapshotLinux:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.png" usemap="#crashpad::internal::ThreadSnapshotLinux_map" alt=""/>
  <map id="crashpad::internal::ThreadSnapshotLinux_map" name="crashpad::internal::ThreadSnapshotLinux_map">
<area href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot..." alt="crashpad::ThreadSnapshot" shape="rect" coords="0,0,241,24"/>
  </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:a7d9916558c2c761e87014b8d7cf173a8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a7d9916558c2c761e87014b8d7cf173a8">Initialize</a> (<a class="el" href="classcrashpad_1_1ProcessReaderLinux.html">ProcessReaderLinux</a> *process_reader, const <a class="el" href="structcrashpad_1_1ProcessReaderLinux_1_1Thread.html">ProcessReaderLinux::Thread</a> &amp;thread)</td></tr>
<tr class="memdesc:a7d9916558c2c761e87014b8d7cf173a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the object.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a7d9916558c2c761e87014b8d7cf173a8">More...</a><br /></td></tr>
<tr class="separator:a7d9916558c2c761e87014b8d7cf173a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6850c05b3de6111d8d1489031fd62210"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structcrashpad_1_1CPUContext.html">CPUContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a6850c05b3de6111d8d1489031fd62210">Context</a> () const override</td></tr>
<tr class="memdesc:a6850c05b3de6111d8d1489031fd62210"><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 thread’s CPU context.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a6850c05b3de6111d8d1489031fd62210">More...</a><br /></td></tr>
<tr class="separator:a6850c05b3de6111d8d1489031fd62210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a320db9f1c56efbaf0214ecbfd2744bab"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a320db9f1c56efbaf0214ecbfd2744bab">Stack</a> () const override</td></tr>
<tr class="memdesc:a320db9f1c56efbaf0214ecbfd2744bab"><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 thread’s stack, or <code>nullptr</code> if no stack region is available.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a320db9f1c56efbaf0214ecbfd2744bab">More...</a><br /></td></tr>
<tr class="separator:a320db9f1c56efbaf0214ecbfd2744bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f6f64d1b52b349feafa6819205d30ba"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a7f6f64d1b52b349feafa6819205d30ba">ThreadID</a> () const override</td></tr>
<tr class="memdesc:a7f6f64d1b52b349feafa6819205d30ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the thread’s identifier.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a7f6f64d1b52b349feafa6819205d30ba">More...</a><br /></td></tr>
<tr class="separator:a7f6f64d1b52b349feafa6819205d30ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79d6e1c1d33d4a5fea1c7e23d454d64f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a79d6e1c1d33d4a5fea1c7e23d454d64f">SuspendCount</a> () const override</td></tr>
<tr class="memdesc:a79d6e1c1d33d4a5fea1c7e23d454d64f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the thread’s suspend count.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a79d6e1c1d33d4a5fea1c7e23d454d64f">More...</a><br /></td></tr>
<tr class="separator:a79d6e1c1d33d4a5fea1c7e23d454d64f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ee2c069481ec915a32e738f94a17c23"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a9ee2c069481ec915a32e738f94a17c23">Priority</a> () const override</td></tr>
<tr class="memdesc:a9ee2c069481ec915a32e738f94a17c23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the thread’s priority.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#a9ee2c069481ec915a32e738f94a17c23">More...</a><br /></td></tr>
<tr class="separator:a9ee2c069481ec915a32e738f94a17c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3e10884eafcdb69c0966f88329f5b03"><td class="memItemLeft" align="right" valign="top"><a id="ac3e10884eafcdb69c0966f88329f5b03"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#ac3e10884eafcdb69c0966f88329f5b03">ThreadSpecificDataAddress</a> () const override</td></tr>
<tr class="memdesc:ac3e10884eafcdb69c0966f88329f5b03"><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:ac3e10884eafcdb69c0966f88329f5b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaddb02fb317390c6396a0d5ea0c24b9d"><td class="memItemLeft" align="right" valign="top">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_1internal_1_1ThreadSnapshotLinux.html#aaddb02fb317390c6396a0d5ea0c24b9d">ExtraMemory</a> () const override</td></tr>
<tr class="memdesc:aaddb02fb317390c6396a0d5ea0c24b9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump.  <a href="classcrashpad_1_1internal_1_1ThreadSnapshotLinux.html#aaddb02fb317390c6396a0d5ea0c24b9d">More...</a><br /></td></tr>
<tr class="separator:aaddb02fb317390c6396a0d5ea0c24b9d"><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>A <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> of a thread on a Linux system. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a6850c05b3de6111d8d1489031fd62210"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6850c05b3de6111d8d1489031fd62210">&#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">const <a class="el" href="structcrashpad_1_1CPUContext.html">CPUContext</a> * crashpad::internal::ThreadSnapshotLinux::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">override</span><span class="mlabel">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 thread’s 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>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a6e227ceaec1f06711d620a99631ec98a">crashpad::ThreadSnapshot</a>.</p>

</div>
</div>
<a id="aaddb02fb317390c6396a0d5ea0c24b9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaddb02fb317390c6396a0d5ea0c24b9d">&#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">std::vector&lt; const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> * &gt; crashpad::internal::ThreadSnapshotLinux::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">override</span><span class="mlabel">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>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a983c5e668ae54cbf8f4348f95da4afc8">crashpad::ThreadSnapshot</a>.</p>

</div>
</div>
<a id="a7d9916558c2c761e87014b8d7cf173a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d9916558c2c761e87014b8d7cf173a8">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::internal::ThreadSnapshotLinux::Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1ProcessReaderLinux.html">ProcessReaderLinux</a> *&#160;</td>
          <td class="paramname"><em>process_reader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structcrashpad_1_1ProcessReaderLinux_1_1Thread.html">ProcessReaderLinux::Thread</a> &amp;&#160;</td>
          <td class="paramname"><em>thread</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">process_reader</td><td>A <a class="el" href="classcrashpad_1_1ProcessReaderLinux.html" title="Accesses information about another process, identified by a process ID.">ProcessReaderLinux</a> for the process containing the thread. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">thread</td><td>The thread within the <a class="el" href="classcrashpad_1_1ProcessReaderLinux.html" title="Accesses information about another process, identified by a process ID.">ProcessReaderLinux</a> for which the snapshot should be created.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the snapshot could be created, <code>false</code> otherwise with a message logged. </dd></dl>

</div>
</div>
<a id="a9ee2c069481ec915a32e738f94a17c23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ee2c069481ec915a32e738f94a17c23">&#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">int crashpad::internal::ThreadSnapshotLinux::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">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the thread’s priority. </p>
<p>Threads with higher priorities will have higher priority values. </p>

<p>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#affbf3f8bee03bd703bc2833c4e714f70">crashpad::ThreadSnapshot</a>.</p>

</div>
</div>
<a id="a320db9f1c56efbaf0214ecbfd2744bab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a320db9f1c56efbaf0214ecbfd2744bab">&#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">const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> * crashpad::internal::ThreadSnapshotLinux::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">override</span><span class="mlabel">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 thread’s 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>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a4f0eadc03965ea69a6b0462f878dd628">crashpad::ThreadSnapshot</a>.</p>

</div>
</div>
<a id="a79d6e1c1d33d4a5fea1c7e23d454d64f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79d6e1c1d33d4a5fea1c7e23d454d64f">&#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">int crashpad::internal::ThreadSnapshotLinux::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">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the thread’s suspend count. </p>
<p>A suspend count of <code>0</code> denotes a schedulable (not suspended) thread. </p>

<p>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#abe00a7e9cbc55366a545700517762d5c">crashpad::ThreadSnapshot</a>.</p>

</div>
</div>
<a id="a7f6f64d1b52b349feafa6819205d30ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f6f64d1b52b349feafa6819205d30ba">&#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">uint64_t crashpad::internal::ThreadSnapshotLinux::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">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the thread’s identifier. </p>
<p>Thread identifiers are at least unique within a process, and may be unique system-wide. </p>

<p>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a3c953575fadb934cd5f163560df149da">crashpad::ThreadSnapshot</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>snapshot/linux/thread_snapshot_linux.h</li>
<li>snapshot/linux/thread_snapshot_linux.cc</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.18
</small></address>
</body>
</html>
