<!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::PtraceConnection 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_1PtraceConnection.html">PtraceConnection</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_1PtraceConnection-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::PtraceConnection Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Provides an interface for making <code>ptrace</code> requests against a process and its threads.  
 <a href="classcrashpad_1_1PtraceConnection.html#details">More...</a></p>

<p><code>#include &quot;util/linux/ptrace_connection.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::PtraceConnection:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1PtraceConnection.png" usemap="#crashpad::PtraceConnection_map" alt=""/>
  <map id="crashpad::PtraceConnection_map" name="crashpad::PtraceConnection_map">
<area href="classcrashpad_1_1DirectPtraceConnection.html" title="Manages a direct ptrace connection to a process." alt="crashpad::DirectPtraceConnection" shape="rect" coords="0,56,225,80"/>
<area href="classcrashpad_1_1PtraceClient.html" title="Implements a PtraceConnection over a socket." alt="crashpad::PtraceClient" shape="rect" coords="235,56,460,80"/>
<area href="classcrashpad_1_1test_1_1FakePtraceConnection.html" title="Stands-in where real PtraceConnections aren&#39;t available." alt="crashpad::test::FakePtraceConnection" shape="rect" coords="470,56,695,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:aef338d6b3197a8aaac307ec32844dbb9"><td class="memItemLeft" align="right" valign="top"><a id="aef338d6b3197a8aaac307ec32844dbb9"></a>
virtual pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#aef338d6b3197a8aaac307ec32844dbb9">GetProcessID</a> ()=0</td></tr>
<tr class="memdesc:aef338d6b3197a8aaac307ec32844dbb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the process ID of the connected process. <br /></td></tr>
<tr class="separator:aef338d6b3197a8aaac307ec32844dbb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ab31fc778f64843b9d4abc3316c8bcc"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#a9ab31fc778f64843b9d4abc3316c8bcc">Attach</a> (pid_t tid)=0</td></tr>
<tr class="memdesc:a9ab31fc778f64843b9d4abc3316c8bcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new thread to this connection.  <a href="classcrashpad_1_1PtraceConnection.html#a9ab31fc778f64843b9d4abc3316c8bcc">More...</a><br /></td></tr>
<tr class="separator:a9ab31fc778f64843b9d4abc3316c8bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfbf7640bfcede6dbb4fd84692505bb1"><td class="memItemLeft" align="right" valign="top"><a id="abfbf7640bfcede6dbb4fd84692505bb1"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#abfbf7640bfcede6dbb4fd84692505bb1">Is64Bit</a> ()=0</td></tr>
<tr class="memdesc:abfbf7640bfcede6dbb4fd84692505bb1"><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:abfbf7640bfcede6dbb4fd84692505bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76eb577d671d45fc9eb9eae52a7ae629"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#a76eb577d671d45fc9eb9eae52a7ae629">GetThreadInfo</a> (pid_t tid, <a class="el" href="structcrashpad_1_1ThreadInfo.html">ThreadInfo</a> *info)=0</td></tr>
<tr class="memdesc:a76eb577d671d45fc9eb9eae52a7ae629"><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_1PtraceConnection.html#a76eb577d671d45fc9eb9eae52a7ae629">More...</a><br /></td></tr>
<tr class="separator:a76eb577d671d45fc9eb9eae52a7ae629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49d4ed2691ef7d612d49e1f145761f57"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#a49d4ed2691ef7d612d49e1f145761f57">ReadFileContents</a> (const base::FilePath &amp;path, std::string *contents)=0</td></tr>
<tr class="memdesc:a49d4ed2691ef7d612d49e1f145761f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the entire contents of a file.  <a href="classcrashpad_1_1PtraceConnection.html#a49d4ed2691ef7d612d49e1f145761f57">More...</a><br /></td></tr>
<tr class="separator:a49d4ed2691ef7d612d49e1f145761f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80e297bfec6cf6583fd2c8e9c50ca9a8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#a80e297bfec6cf6583fd2c8e9c50ca9a8">Memory</a> ()=0</td></tr>
<tr class="memdesc:a80e297bfec6cf6583fd2c8e9c50ca9a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a memory reader for the connected process.  <a href="classcrashpad_1_1PtraceConnection.html#a80e297bfec6cf6583fd2c8e9c50ca9a8">More...</a><br /></td></tr>
<tr class="separator:a80e297bfec6cf6583fd2c8e9c50ca9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822a40bdeb85d8ea936d419aea0ea426"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PtraceConnection.html#a822a40bdeb85d8ea936d419aea0ea426">Threads</a> (std::vector&lt; pid_t &gt; *threads)=0</td></tr>
<tr class="memdesc:a822a40bdeb85d8ea936d419aea0ea426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the thread IDs of the threads in the connected process.  <a href="classcrashpad_1_1PtraceConnection.html#a822a40bdeb85d8ea936d419aea0ea426">More...</a><br /></td></tr>
<tr class="separator:a822a40bdeb85d8ea936d419aea0ea426"><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>Provides an interface for making <code>ptrace</code> requests against a process and its threads. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a9ab31fc778f64843b9d4abc3316c8bcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ab31fc778f64843b9d4abc3316c8bcc">&#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">virtual bool crashpad::PtraceConnection::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">pure 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>Implemented in <a class="el" href="classcrashpad_1_1PtraceClient.html#a85f6f7580bd3d653f57e355232897250">crashpad::PtraceClient</a>, <a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#abf6e77f27a81c1b8b3c2da590c8f002e">crashpad::DirectPtraceConnection</a>, and <a class="el" href="classcrashpad_1_1test_1_1FakePtraceConnection.html#ae446ad6bec3635e246ebb026bd5348e6">crashpad::test::FakePtraceConnection</a>.</p>

</div>
</div>
<a id="a76eb577d671d45fc9eb9eae52a7ae629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76eb577d671d45fc9eb9eae52a7ae629">&#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">virtual bool crashpad::PtraceConnection::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">pure 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>Implemented in <a class="el" href="classcrashpad_1_1PtraceClient.html#a2939beb155c48fc303fe1f7c81f8f81d">crashpad::PtraceClient</a>, <a class="el" href="classcrashpad_1_1test_1_1FakePtraceConnection.html#a8dc87c797183dd98e045e17d1a4e1845">crashpad::test::FakePtraceConnection</a>, and <a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#ad8cc3c3b05ee6191e9d251449b47a040">crashpad::DirectPtraceConnection</a>.</p>

</div>
</div>
<a id="a80e297bfec6cf6583fd2c8e9c50ca9a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80e297bfec6cf6583fd2c8e9c50ca9a8">&#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">virtual <a class="el" href="classcrashpad_1_1ProcessMemory.html">ProcessMemory</a>* crashpad::PtraceConnection::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">pure 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>Implemented in <a class="el" href="classcrashpad_1_1test_1_1FakePtraceConnection.html#ae88bb06d58f6d1d4fb9e600009d146d5">crashpad::test::FakePtraceConnection</a>, <a class="el" href="classcrashpad_1_1PtraceClient.html#a58712ca965cad6746f2421e827292408">crashpad::PtraceClient</a>, and <a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#adb9f4182bf16d93915160f256b5d11aa">crashpad::DirectPtraceConnection</a>.</p>

</div>
</div>
<a id="a49d4ed2691ef7d612d49e1f145761f57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49d4ed2691ef7d612d49e1f145761f57">&#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">virtual bool crashpad::PtraceConnection::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">pure 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>Implemented in <a class="el" href="classcrashpad_1_1PtraceClient.html#a2a9384d50a124b681a3ef623a8e6ece0">crashpad::PtraceClient</a>, <a class="el" href="classcrashpad_1_1test_1_1FakePtraceConnection.html#a4c4aa66acc48dbb27ac579aa1fd73af7">crashpad::test::FakePtraceConnection</a>, and <a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#af059cf41eb1adf2d74c600e69f2bd87e">crashpad::DirectPtraceConnection</a>.</p>

</div>
</div>
<a id="a822a40bdeb85d8ea936d419aea0ea426"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a822a40bdeb85d8ea936d419aea0ea426">&#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">virtual bool crashpad::PtraceConnection::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">pure 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>Implemented in <a class="el" href="classcrashpad_1_1test_1_1FakePtraceConnection.html#ae399f5f7be50153d712c4571d6b58ca7">crashpad::test::FakePtraceConnection</a>, <a class="el" href="classcrashpad_1_1PtraceClient.html#ac2b5d7efdde4d38cdcdb0c9173152646">crashpad::PtraceClient</a>, and <a class="el" href="classcrashpad_1_1DirectPtraceConnection.html#a510a5e81256d5d82ddbcc3a878501515">crashpad::DirectPtraceConnection</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>util/linux/ptrace_connection.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.18
</small></address>
</body>
</html>
