crashpad/doc/generated/doxygen/classcrashpad_1_1ProcessReader.html
2017-07-29 17:13:40 -04:00

518 lines
30 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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::ProcessReader 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_1ProcessReader.html">ProcessReader</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1ProcessReader-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::ProcessReader Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Accesses information about another process, identified by a process ID.
<a href="classcrashpad_1_1ProcessReader.html#details">More...</a></p>
<p><code>#include &quot;snapshot/mac/process_reader.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1ProcessReader_1_1Module.html">Module</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains information about a module loaded into a process. <a href="structcrashpad_1_1ProcessReader_1_1Module.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1ProcessReader_1_1Thread.html">Thread</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains information about a thread that belongs to a process. <a href="structcrashpad_1_1ProcessReader_1_1Thread.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a75402177f6ee8d7dfda6a20776504a50"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a75402177f6ee8d7dfda6a20776504a50">Initialize</a> (pid_t pid)</td></tr>
<tr class="memdesc:a75402177f6ee8d7dfda6a20776504a50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object. <a href="#a75402177f6ee8d7dfda6a20776504a50">More...</a><br /></td></tr>
<tr class="separator:a75402177f6ee8d7dfda6a20776504a50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a80035d1e28c6a138e2ad8157abc5f4"><td class="memItemLeft" align="right" valign="top"><a id="a7a80035d1e28c6a138e2ad8157abc5f4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a7a80035d1e28c6a138e2ad8157abc5f4">Is64Bit</a> () const</td></tr>
<tr class="memdesc:a7a80035d1e28c6a138e2ad8157abc5f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return <code>true</code> if the target task is a 64-bit process. <br /></td></tr>
<tr class="separator:a7a80035d1e28c6a138e2ad8157abc5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a563b92dd40252476f89eab8b4a53cf3b"><td class="memItemLeft" align="right" valign="top"><a id="a563b92dd40252476f89eab8b4a53cf3b"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a563b92dd40252476f89eab8b4a53cf3b">ProcessID</a> () const</td></tr>
<tr class="memdesc:a563b92dd40252476f89eab8b4a53cf3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the target process' process ID. <br /></td></tr>
<tr class="separator:a563b92dd40252476f89eab8b4a53cf3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7373dd35aa5a10cf1149e2147396ff9c"><td class="memItemLeft" align="right" valign="top"><a id="a7373dd35aa5a10cf1149e2147396ff9c"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a7373dd35aa5a10cf1149e2147396ff9c">ParentProcessID</a> () const</td></tr>
<tr class="memdesc:a7373dd35aa5a10cf1149e2147396ff9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the target process' parent process ID. <br /></td></tr>
<tr class="separator:a7373dd35aa5a10cf1149e2147396ff9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4278db0afedba32a19894438e61e742"><td class="memItemLeft" align="right" valign="top"><a id="ac4278db0afedba32a19894438e61e742"></a>
<a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#ac4278db0afedba32a19894438e61e742">Memory</a> ()</td></tr>
<tr class="memdesc:ac4278db0afedba32a19894438e61e742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a memory reader for the target process. <br /></td></tr>
<tr class="separator:ac4278db0afedba32a19894438e61e742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a688e4264efec90b9241ce4b259a1b36a"><td class="memItemLeft" align="right" valign="top"><a id="a688e4264efec90b9241ce4b259a1b36a"></a>
<a class="el" href="classcrashpad_1_1MemoryMap.html">MemoryMap</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a688e4264efec90b9241ce4b259a1b36a">GetMemoryMap</a> ()</td></tr>
<tr class="memdesc:a688e4264efec90b9241ce4b259a1b36a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a memory map of the target process. <br /></td></tr>
<tr class="separator:a688e4264efec90b9241ce4b259a1b36a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb659e5a0daba4aa21bd0f66789550d8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#abb659e5a0daba4aa21bd0f66789550d8">StartTime</a> (timeval *start_time) const</td></tr>
<tr class="memdesc:abb659e5a0daba4aa21bd0f66789550d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the target process start time. <a href="#abb659e5a0daba4aa21bd0f66789550d8">More...</a><br /></td></tr>
<tr class="separator:abb659e5a0daba4aa21bd0f66789550d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79d46493bcac2de547f3f542ea99a6d7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a79d46493bcac2de547f3f542ea99a6d7">CPUTimes</a> (timeval *user_time, timeval *system_time) const</td></tr>
<tr class="memdesc:a79d46493bcac2de547f3f542ea99a6d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the target process execution time. <a href="#a79d46493bcac2de547f3f542ea99a6d7">More...</a><br /></td></tr>
<tr class="separator:a79d46493bcac2de547f3f542ea99a6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02fdb7d5933eafaa596d4872ff95841d"><td class="memItemLeft" align="right" valign="top"><a id="a02fdb7d5933eafaa596d4872ff95841d"></a>
const std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessReader_1_1Thread.html">Thread</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a02fdb7d5933eafaa596d4872ff95841d">Threads</a> ()</td></tr>
<tr class="memdesc:a02fdb7d5933eafaa596d4872ff95841d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a vector of threads that are in the task process. If the main thread is able to be identified and traced, it will be placed at index <code>0</code>. <br /></td></tr>
<tr class="separator:a02fdb7d5933eafaa596d4872ff95841d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55f755ec401dfb6598c3a22f76e12ff1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a55f755ec401dfb6598c3a22f76e12ff1">Initialize</a> (task_t task)</td></tr>
<tr class="memdesc:a55f755ec401dfb6598c3a22f76e12ff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this object. This method must be called before any other. <a href="#a55f755ec401dfb6598c3a22f76e12ff1">More...</a><br /></td></tr>
<tr class="separator:a55f755ec401dfb6598c3a22f76e12ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a80035d1e28c6a138e2ad8157abc5f4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a7a80035d1e28c6a138e2ad8157abc5f4">Is64Bit</a> () const</td></tr>
<tr class="separator:a7a80035d1e28c6a138e2ad8157abc5f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a563b92dd40252476f89eab8b4a53cf3b"><td class="memItemLeft" align="right" valign="top">pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a563b92dd40252476f89eab8b4a53cf3b">ProcessID</a> () const</td></tr>
<tr class="separator:a563b92dd40252476f89eab8b4a53cf3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7373dd35aa5a10cf1149e2147396ff9c"><td class="memItemLeft" align="right" valign="top">pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a7373dd35aa5a10cf1149e2147396ff9c">ParentProcessID</a> () const</td></tr>
<tr class="separator:a7373dd35aa5a10cf1149e2147396ff9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb659e5a0daba4aa21bd0f66789550d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#abb659e5a0daba4aa21bd0f66789550d8">StartTime</a> (timeval *start_time) const</td></tr>
<tr class="memdesc:abb659e5a0daba4aa21bd0f66789550d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the target process start time. <a href="#abb659e5a0daba4aa21bd0f66789550d8">More...</a><br /></td></tr>
<tr class="separator:abb659e5a0daba4aa21bd0f66789550d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79d46493bcac2de547f3f542ea99a6d7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a79d46493bcac2de547f3f542ea99a6d7">CPUTimes</a> (timeval *user_time, timeval *system_time) const</td></tr>
<tr class="memdesc:a79d46493bcac2de547f3f542ea99a6d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the target process execution time. <a href="#a79d46493bcac2de547f3f542ea99a6d7">More...</a><br /></td></tr>
<tr class="separator:a79d46493bcac2de547f3f542ea99a6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec00777c3e77735f75fb176cb24f420d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcrashpad_1_1TaskMemory.html">TaskMemory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#aec00777c3e77735f75fb176cb24f420d">Memory</a> ()</td></tr>
<tr class="separator:aec00777c3e77735f75fb176cb24f420d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb0d98ba187c2e54e232b621a35cd83"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessReader_1_1Thread.html">Thread</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a9fb0d98ba187c2e54e232b621a35cd83">Threads</a> ()</td></tr>
<tr class="separator:a9fb0d98ba187c2e54e232b621a35cd83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcd874395af5ca91e28f9056f6c3fe5e"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessReader_1_1Module.html">Module</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#afcd874395af5ca91e28f9056f6c3fe5e">Modules</a> ()</td></tr>
<tr class="separator:afcd874395af5ca91e28f9056f6c3fe5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a653ed07c8b41c82ddc35a6390d74d3b7"><td class="memItemLeft" align="right" valign="top">mach_vm_address_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessReader.html#a653ed07c8b41c82ddc35a6390d74d3b7">DyldAllImageInfo</a> (mach_vm_size_t *all_image_info_size)</td></tr>
<tr class="memdesc:a653ed07c8b41c82ddc35a6390d74d3b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the location of the <code>dyld_all_image_infos</code> structure in the process address space. <a href="#a653ed07c8b41c82ddc35a6390d74d3b7">More...</a><br /></td></tr>
<tr class="separator:a653ed07c8b41c82ddc35a6390d74d3b7"><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>Accesses information about another process, identified by a process ID. </p>
<p>Accesses information about another process, identified by a Mach task. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a79d46493bcac2de547f3f542ea99a6d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79d46493bcac2de547f3f542ea99a6d7">&#9670;&nbsp;</a></span>CPUTimes() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessReader::CPUTimes </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>user_time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>system_time</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the target process execution time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">user_time</td><td>The amount of time the process has executed code in user mode. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">system_time</td><td>The amount of time the process has executed code in system mode.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, <code>false</code> on failure, with a warning logged. On failure, <em>user_time</em> and <em>system_time</em> will be set to represent no time spent executing code in user or system mode. </dd></dl>
</div>
</div>
<a id="a79d46493bcac2de547f3f542ea99a6d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79d46493bcac2de547f3f542ea99a6d7">&#9670;&nbsp;</a></span>CPUTimes() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessReader::CPUTimes </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>user_time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>system_time</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the target process execution time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">user_time</td><td>The amount of time the process has executed code in user mode. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">system_time</td><td>The amount of time the process has executed code in system mode.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, <code>false</code> on failure, with a warning logged. On failure, <em>user_time</em> and <em>system_time</em> will be set to represent no time spent executing code in user or system mode. </dd></dl>
</div>
</div>
<a id="a653ed07c8b41c82ddc35a6390d74d3b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a653ed07c8b41c82ddc35a6390d74d3b7">&#9670;&nbsp;</a></span>DyldAllImageInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">mach_vm_address_t crashpad::ProcessReader::DyldAllImageInfo </td>
<td>(</td>
<td class="paramtype">mach_vm_size_t *&#160;</td>
<td class="paramname"><em>all_image_info_size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the location of the <code>dyld_all_image_infos</code> structure in the process address space. </p>
<p>This function is an internal implementation detail of <a class="el" href="classcrashpad_1_1ProcessReader.html#afcd874395af5ca91e28f9056f6c3fe5e">Modules()</a>, and should not normally be used directly. It is exposed solely for use by test code.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">all_image_info_size</td><td>The size of the <code>dyld_all_image_infos</code> structure. Optional, may be <code>nullptr</code> if not required.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The address of the <code>dyld_all_image_infos</code> structure in the process address space, with <em>all_image_info_size</em> set appropriately. On failure, returns <code>0</code> with a message logged. </dd></dl>
</div>
</div>
<a id="a75402177f6ee8d7dfda6a20776504a50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75402177f6ee8d7dfda6a20776504a50">&#9670;&nbsp;</a></span>Initialize() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessReader::Initialize </td>
<td>(</td>
<td class="paramtype">pid_t&#160;</td>
<td class="paramname"><em>pid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes this object. </p>
<p>This method must be successfully called before calling any other method in this class.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pid</td><td>The process ID of the target process. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success. <code>false</code> on failure with a message logged. </dd></dl>
</div>
</div>
<a id="a55f755ec401dfb6598c3a22f76e12ff1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55f755ec401dfb6598c3a22f76e12ff1">&#9670;&nbsp;</a></span>Initialize() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessReader::Initialize </td>
<td>(</td>
<td class="paramtype">task_t&#160;</td>
<td class="paramname"><em>task</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes this object. This method must be called before any other. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">task</td><td>A send right to the target tasks task port. This object does not take ownership of the send right.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success, indicating that this object will respond validly to further method calls. <code>false</code> on failure. On failure, no further method calls should be made. </dd></dl>
</div>
</div>
<a id="a7a80035d1e28c6a138e2ad8157abc5f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a80035d1e28c6a138e2ad8157abc5f4">&#9670;&nbsp;</a></span>Is64Bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool crashpad::ProcessReader::Is64Bit </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the target task is a 64-bit process. </dd></dl>
</div>
</div>
<a id="aec00777c3e77735f75fb176cb24f420d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec00777c3e77735f75fb176cb24f420d">&#9670;&nbsp;</a></span>Memory()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcrashpad_1_1TaskMemory.html">TaskMemory</a>* crashpad::ProcessReader::Memory </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Accesses the memory of the target task. </dd></dl>
</div>
</div>
<a id="afcd874395af5ca91e28f9056f6c3fe5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcd874395af5ca91e28f9056f6c3fe5e">&#9670;&nbsp;</a></span>Modules()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="structcrashpad_1_1ProcessReader_1_1Module.html">ProcessReader::Module</a> &gt; &amp; crashpad::ProcessReader::Modules </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The modules loaded in the process. The first element (at index <code>0</code>) corresponds to the main executable, and the final element corresponds to the dynamic loader, dyld. </dd></dl>
</div>
</div>
<a id="a7373dd35aa5a10cf1149e2147396ff9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7373dd35aa5a10cf1149e2147396ff9c">&#9670;&nbsp;</a></span>ParentProcessID()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">pid_t crashpad::ProcessReader::ParentProcessID </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target tasks parent process ID. </dd></dl>
</div>
</div>
<a id="a563b92dd40252476f89eab8b4a53cf3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a563b92dd40252476f89eab8b4a53cf3b">&#9670;&nbsp;</a></span>ProcessID()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">pid_t crashpad::ProcessReader::ProcessID </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The target tasks process ID. </dd></dl>
</div>
</div>
<a id="abb659e5a0daba4aa21bd0f66789550d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb659e5a0daba4aa21bd0f66789550d8">&#9670;&nbsp;</a></span>StartTime() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void crashpad::ProcessReader::StartTime </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>start_time</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the target process start time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">start_time</td><td>The time that the process started. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success with <em>start_time</em> set. Otherwise <code>false</code> with a message logged. </dd></dl>
</div>
</div>
<a id="abb659e5a0daba4aa21bd0f66789550d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb659e5a0daba4aa21bd0f66789550d8">&#9670;&nbsp;</a></span>StartTime() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void crashpad::ProcessReader::StartTime </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>start_time</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines the target process start time. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">start_time</td><td>The time that the process started. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9fb0d98ba187c2e54e232b621a35cd83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fb0d98ba187c2e54e232b621a35cd83">&#9670;&nbsp;</a></span>Threads()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="structcrashpad_1_1ProcessReader_1_1Thread.html">Thread</a>&gt;&amp; crashpad::ProcessReader::Threads </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The threads that are in the task (process). The first element (at index <code>0</code>) corresponds to the main thread. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>snapshot/linux/process_reader.h</li>
<li>snapshot/linux/process_reader.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.13
</small></address>
</body>
</html>