<!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::DirectPtraceConnection 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="classcrashpad_1_1DirectPtraceConnection.html">DirectPtraceConnection</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_1DirectPtraceConnection-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::DirectPtraceConnection Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Manages a direct <code>ptrace</code> connection to a process.  
 <a href="classcrashpad_1_1DirectPtraceConnection.html#details">More...</a></p>

<p><code>#include &quot;util/linux/direct_ptrace_connection.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::DirectPtraceConnection:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1DirectPtraceConnection.png" usemap="#crashpad::DirectPtraceConnection_map" alt=""/>
  <map id="crashpad::DirectPtraceConnection_map" name="crashpad::DirectPtraceConnection_map">
<area href="classcrashpad_1_1PtraceConnection.html" title="Provides an interface for making ptrace requests against a process and its threads." alt="crashpad::PtraceConnection" shape="rect" coords="0,0,206,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:ad71592712745feab87e2e8258e1f5526"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#ad71592712745feab87e2e8258e1f5526">Initialize</a> (pid_t pid)</td></tr>
<tr class="memdesc:ad71592712745feab87e2e8258e1f5526"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes this connection for the process whose process ID is <em>pid</em>.  <a href="classcrashpad_1_1DirectPtraceConnection.html#ad71592712745feab87e2e8258e1f5526">More...</a><br /></td></tr>
<tr class="separator:ad71592712745feab87e2e8258e1f5526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e1965e4dc41a16c55d514fbc768e2aa"><td class="memItemLeft" align="right" valign="top"><a id="a8e1965e4dc41a16c55d514fbc768e2aa"></a>
pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#a8e1965e4dc41a16c55d514fbc768e2aa">GetProcessID</a> () override</td></tr>
<tr class="memdesc:a8e1965e4dc41a16c55d514fbc768e2aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the process ID of the connected process. <br /></td></tr>
<tr class="separator:a8e1965e4dc41a16c55d514fbc768e2aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf6e77f27a81c1b8b3c2da590c8f002e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#abf6e77f27a81c1b8b3c2da590c8f002e">Attach</a> (pid_t tid) override</td></tr>
<tr class="memdesc:abf6e77f27a81c1b8b3c2da590c8f002e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new thread to this connection.  <a href="classcrashpad_1_1DirectPtraceConnection.html#abf6e77f27a81c1b8b3c2da590c8f002e">More...</a><br /></td></tr>
<tr class="separator:abf6e77f27a81c1b8b3c2da590c8f002e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ac2ee147501c7266f3288f0b338fa76"><td class="memItemLeft" align="right" valign="top"><a id="a6ac2ee147501c7266f3288f0b338fa76"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#a6ac2ee147501c7266f3288f0b338fa76">Is64Bit</a> () override</td></tr>
<tr class="memdesc:a6ac2ee147501c7266f3288f0b338fa76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if connected to a 64-bit process. <br /></td></tr>
<tr class="separator:a6ac2ee147501c7266f3288f0b338fa76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8cc3c3b05ee6191e9d251449b47a040"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#ad8cc3c3b05ee6191e9d251449b47a040">GetThreadInfo</a> (pid_t tid, <a class="el" href="structcrashpad_1_1ThreadInfo.html">ThreadInfo</a> *info) override</td></tr>
<tr class="memdesc:ad8cc3c3b05ee6191e9d251449b47a040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves a <a class="el" href="structcrashpad_1_1ThreadInfo.html" title="A collection of ptrace-able information about a thread.">ThreadInfo</a> for a target thread.  <a href="classcrashpad_1_1DirectPtraceConnection.html#ad8cc3c3b05ee6191e9d251449b47a040">More...</a><br /></td></tr>
<tr class="separator:ad8cc3c3b05ee6191e9d251449b47a040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af059cf41eb1adf2d74c600e69f2bd87e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#af059cf41eb1adf2d74c600e69f2bd87e">ReadFileContents</a> (const base::FilePath &amp;path, std::string *contents) override</td></tr>
<tr class="memdesc:af059cf41eb1adf2d74c600e69f2bd87e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the entire contents of a file.  <a href="classcrashpad_1_1DirectPtraceConnection.html#af059cf41eb1adf2d74c600e69f2bd87e">More...</a><br /></td></tr>
<tr class="separator:af059cf41eb1adf2d74c600e69f2bd87e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb9f4182bf16d93915160f256b5d11aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#adb9f4182bf16d93915160f256b5d11aa">Memory</a> () override</td></tr>
<tr class="memdesc:adb9f4182bf16d93915160f256b5d11aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a memory reader for the connected process.  <a href="classcrashpad_1_1DirectPtraceConnection.html#adb9f4182bf16d93915160f256b5d11aa">More...</a><br /></td></tr>
<tr class="separator:adb9f4182bf16d93915160f256b5d11aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a510a5e81256d5d82ddbcc3a878501515"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#a510a5e81256d5d82ddbcc3a878501515">Threads</a> (std::vector&lt; pid_t &gt; *threads) override</td></tr>
<tr class="memdesc:a510a5e81256d5d82ddbcc3a878501515"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the thread IDs of the threads in the connected process.  <a href="classcrashpad_1_1DirectPtraceConnection.html#a510a5e81256d5d82ddbcc3a878501515">More...</a><br /></td></tr>
<tr class="separator:a510a5e81256d5d82ddbcc3a878501515"><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>Manages a direct <code>ptrace</code> connection to a process. </p>
<p>This class is used when the current process has <code>ptrace</code> capabilities for the target process. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="abf6e77f27a81c1b8b3c2da590c8f002e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf6e77f27a81c1b8b3c2da590c8f002e">&#9670;&nbsp;</a></span>Attach()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::DirectPtraceConnection::Attach </td>
          <td>(</td>
          <td class="paramtype">pid_t&#160;</td>
          <td class="paramname"><em>tid</em></td><td>)</td>
          <td></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>Adds a new thread to this connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tid</td><td>The thread ID of the thread to attach. </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>

<p>Implements <a class="el" href="classcrashpad_1_1PtraceConnection.html#a9ab31fc778f64843b9d4abc3316c8bcc">crashpad::PtraceConnection</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::DirectPtraceConnection::GetThreadInfo </td>
          <td>(</td>
          <td class="paramtype">pid_t&#160;</td>
          <td class="paramname"><em>tid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcrashpad_1_1ThreadInfo.html">ThreadInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></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>Retrieves a <a class="el" href="structcrashpad_1_1ThreadInfo.html" title="A collection of ptrace-able information about a thread.">ThreadInfo</a> for a target thread. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tid</td><td>The thread ID of the target thread. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">info</td><td>Information about the thread. </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>

<p>Implements <a class="el" href="classcrashpad_1_1PtraceConnection.html#a76eb577d671d45fc9eb9eae52a7ae629">crashpad::PtraceConnection</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::DirectPtraceConnection::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 connection for the process whose process ID is <em>pid</em>. </p>
<p>The main thread of the process is automatically attached by this call.</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 process to connect to. </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="adb9f4182bf16d93915160f256b5d11aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb9f4182bf16d93915160f256b5d11aa">&#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_1ProcessMemory.html">ProcessMemory</a> * crashpad::DirectPtraceConnection::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">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a memory reader for the connected process. </p>
<p>The caller does not take ownership of the reader. The reader is valid for the lifetime of the <a class="el" href="classcrashpad_1_1PtraceConnection.html" title="Provides an interface for making ptrace requests against a process and its threads.">PtraceConnection</a> that created it. </p>

<p>Implements <a class="el" href="classcrashpad_1_1PtraceConnection.html#a80e297bfec6cf6583fd2c8e9c50ca9a8">crashpad::PtraceConnection</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::DirectPtraceConnection::ReadFileContents </td>
          <td>(</td>
          <td class="paramtype">const base::FilePath &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>contents</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></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>Reads the entire contents of a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>The path of the file to read. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">contents</td><td>The file contents, valid if this method returns <code>true</code>. </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>

<p>Implements <a class="el" href="classcrashpad_1_1PtraceConnection.html#a49d4ed2691ef7d612d49e1f145761f57">crashpad::PtraceConnection</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::DirectPtraceConnection::Threads </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; pid_t &gt; *&#160;</td>
          <td class="paramname"><em>threads</em></td><td>)</td>
          <td></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>Determines the thread IDs of the threads in the connected process. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">threads</td><td>The list of thread IDs. </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. If this method returns <code>false</code>, <em>threads</em> may contain a partial list of thread IDs. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1PtraceConnection.html#a822a40bdeb85d8ea936d419aea0ea426">crashpad::PtraceConnection</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>util/linux/direct_ptrace_connection.h</li>
<li>util/linux/direct_ptrace_connection.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>
