crashpad/doc/generated/doxygen/classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html
2018-08-01 13:34:49 -04:00

353 lines
21 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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::internal::ThreadSnapshotFuchsia 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.14 -->
<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_1ThreadSnapshotFuchsia.html">ThreadSnapshotFuchsia</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_1ThreadSnapshotFuchsia-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::internal::ThreadSnapshotFuchsia 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 Fuchsia system.
<a href="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html#details">More...</a></p>
<p><code>#include &quot;snapshot/fuchsia/thread_snapshot_fuchsia.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::internal::ThreadSnapshotFuchsia:</div>
<div class="dyncontent">
<div class="center">
<img src="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.png" usemap="#crashpad::internal::ThreadSnapshotFuchsia_map" alt=""/>
<map id="crashpad::internal::ThreadSnapshotFuchsia_map" name="crashpad::internal::ThreadSnapshotFuchsia_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,256,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:a6a0992c577140c7bab0dc1e82b50689a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html#a6a0992c577140c7bab0dc1e82b50689a">Initialize</a> (<a class="el" href="classcrashpad_1_1ProcessReaderFuchsia.html">ProcessReaderFuchsia</a> *process_reader, const <a class="el" href="structcrashpad_1_1ProcessReaderFuchsia_1_1Thread.html">ProcessReaderFuchsia::Thread</a> &amp;thread)</td></tr>
<tr class="memdesc:a6a0992c577140c7bab0dc1e82b50689a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the object. <a href="#a6a0992c577140c7bab0dc1e82b50689a">More...</a><br /></td></tr>
<tr class="separator:a6a0992c577140c7bab0dc1e82b50689a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a091da40baec6c31cfd4316d6a3b26b95"><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_1ThreadSnapshotFuchsia.html#a091da40baec6c31cfd4316d6a3b26b95">Context</a> () const override</td></tr>
<tr class="memdesc:a091da40baec6c31cfd4316d6a3b26b95"><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="#a091da40baec6c31cfd4316d6a3b26b95">More...</a><br /></td></tr>
<tr class="separator:a091da40baec6c31cfd4316d6a3b26b95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b287925d3787fc89caca5e1d06c7eae"><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_1ThreadSnapshotFuchsia.html#a7b287925d3787fc89caca5e1d06c7eae">Stack</a> () const override</td></tr>
<tr class="memdesc:a7b287925d3787fc89caca5e1d06c7eae"><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="#a7b287925d3787fc89caca5e1d06c7eae">More...</a><br /></td></tr>
<tr class="separator:a7b287925d3787fc89caca5e1d06c7eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd0d871fe26b95288b8e4e9d5a3cbfd7"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html#acd0d871fe26b95288b8e4e9d5a3cbfd7">ThreadID</a> () const override</td></tr>
<tr class="memdesc:acd0d871fe26b95288b8e4e9d5a3cbfd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threads identifier. <a href="#acd0d871fe26b95288b8e4e9d5a3cbfd7">More...</a><br /></td></tr>
<tr class="separator:acd0d871fe26b95288b8e4e9d5a3cbfd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d476eae574483d3340b46494b677d67"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html#a8d476eae574483d3340b46494b677d67">SuspendCount</a> () const override</td></tr>
<tr class="memdesc:a8d476eae574483d3340b46494b677d67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threads suspend count. <a href="#a8d476eae574483d3340b46494b677d67">More...</a><br /></td></tr>
<tr class="separator:a8d476eae574483d3340b46494b677d67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a037865ebd41c95beddbd4ae8a584dbf3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html#a037865ebd41c95beddbd4ae8a584dbf3">Priority</a> () const override</td></tr>
<tr class="memdesc:a037865ebd41c95beddbd4ae8a584dbf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the threads priority. <a href="#a037865ebd41c95beddbd4ae8a584dbf3">More...</a><br /></td></tr>
<tr class="separator:a037865ebd41c95beddbd4ae8a584dbf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fcdd1beb14587167f2fa931e7cf5e56"><td class="memItemLeft" align="right" valign="top"><a id="a1fcdd1beb14587167f2fa931e7cf5e56"></a>
uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1internal_1_1ThreadSnapshotFuchsia.html#a1fcdd1beb14587167f2fa931e7cf5e56">ThreadSpecificDataAddress</a> () const override</td></tr>
<tr class="memdesc:a1fcdd1beb14587167f2fa931e7cf5e56"><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:a1fcdd1beb14587167f2fa931e7cf5e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c801bafe5117d105eb9a5346be40823"><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_1ThreadSnapshotFuchsia.html#a5c801bafe5117d105eb9a5346be40823">ExtraMemory</a> () const override</td></tr>
<tr class="memdesc:a5c801bafe5117d105eb9a5346be40823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump. <a href="#a5c801bafe5117d105eb9a5346be40823">More...</a><br /></td></tr>
<tr class="separator:a5c801bafe5117d105eb9a5346be40823"><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 Fuchsia system. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a091da40baec6c31cfd4316d6a3b26b95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a091da40baec6c31cfd4316d6a3b26b95">&#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::ThreadSnapshotFuchsia::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 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>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a6e227ceaec1f06711d620a99631ec98a">crashpad::ThreadSnapshot</a>.</p>
</div>
</div>
<a id="a5c801bafe5117d105eb9a5346be40823"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c801bafe5117d105eb9a5346be40823">&#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::ThreadSnapshotFuchsia::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="a6a0992c577140c7bab0dc1e82b50689a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a0992c577140c7bab0dc1e82b50689a">&#9670;&nbsp;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::internal::ThreadSnapshotFuchsia::Initialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcrashpad_1_1ProcessReaderFuchsia.html">ProcessReaderFuchsia</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_1ProcessReaderFuchsia_1_1Thread.html">ProcessReaderFuchsia::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_1ProcessReaderFuchsia.html" title="Accesses information about another process, identified by a Fuchsia process. ">ProcessReaderFuchsia</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_1ProcessReaderFuchsia.html" title="Accesses information about another process, identified by a Fuchsia process. ">ProcessReaderFuchsia</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="a037865ebd41c95beddbd4ae8a584dbf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a037865ebd41c95beddbd4ae8a584dbf3">&#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::ThreadSnapshotFuchsia::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 threads 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="a7b287925d3787fc89caca5e1d06c7eae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b287925d3787fc89caca5e1d06c7eae">&#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::ThreadSnapshotFuchsia::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 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>Implements <a class="el" href="classcrashpad_1_1ThreadSnapshot.html#a4f0eadc03965ea69a6b0462f878dd628">crashpad::ThreadSnapshot</a>.</p>
</div>
</div>
<a id="a8d476eae574483d3340b46494b677d67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d476eae574483d3340b46494b677d67">&#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::ThreadSnapshotFuchsia::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 threads 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="acd0d871fe26b95288b8e4e9d5a3cbfd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd0d871fe26b95288b8e4e9d5a3cbfd7">&#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::ThreadSnapshotFuchsia::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 threads 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/fuchsia/thread_snapshot_fuchsia.h</li>
<li>snapshot/fuchsia/thread_snapshot_fuchsia.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.14
</small></address>
</body>
</html>