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

<p>A reader for ELF images mapped into another process.  
 <a href="classcrashpad_1_1ElfImageReader.html#details">More...</a></p>

<p><code>#include &quot;snapshot/elf/elf_image_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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html">NoteReader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class enables reading note segments from an ELF image.  <a href="classcrashpad_1_1ElfImageReader_1_1NoteReader.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader_1_1ProgramHeaderTable.html">ProgramHeaderTable</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader_1_1ProgramHeaderTableSpecific.html">ProgramHeaderTableSpecific</a></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:a9a89b7570705f43a8a52b7cb7a2c9e63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a9a89b7570705f43a8a52b7cb7a2c9e63">Initialize</a> (const <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html">ProcessMemoryRange</a> &amp;memory, <a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> address, bool verbose=true)</td></tr>
<tr class="memdesc:a9a89b7570705f43a8a52b7cb7a2c9e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the reader.  <a href="classcrashpad_1_1ElfImageReader.html#a9a89b7570705f43a8a52b7cb7a2c9e63">More...</a><br /></td></tr>
<tr class="separator:a9a89b7570705f43a8a52b7cb7a2c9e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7d380b5d56ba94de33ad9e72e5b033f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#aa7d380b5d56ba94de33ad9e72e5b033f">Address</a> () const</td></tr>
<tr class="memdesc:aa7d380b5d56ba94de33ad9e72e5b033f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the base address of the image's memory range.  <a href="classcrashpad_1_1ElfImageReader.html#aa7d380b5d56ba94de33ad9e72e5b033f">More...</a><br /></td></tr>
<tr class="separator:aa7d380b5d56ba94de33ad9e72e5b033f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff63ec7e00cd748e2395f35c0f32af15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#aff63ec7e00cd748e2395f35c0f32af15">Size</a> () const</td></tr>
<tr class="memdesc:aff63ec7e00cd748e2395f35c0f32af15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of the range containing all loaded segments for this image.  <a href="classcrashpad_1_1ElfImageReader.html#aff63ec7e00cd748e2395f35c0f32af15">More...</a><br /></td></tr>
<tr class="separator:aff63ec7e00cd748e2395f35c0f32af15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd0483257628188753b1f70709b8cad6"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#afd0483257628188753b1f70709b8cad6">FileType</a> () const</td></tr>
<tr class="memdesc:afd0483257628188753b1f70709b8cad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the file type for the image.  <a href="classcrashpad_1_1ElfImageReader.html#afd0483257628188753b1f70709b8cad6">More...</a><br /></td></tr>
<tr class="separator:afd0483257628188753b1f70709b8cad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a5c9e9b48422e429866e07bd373080d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#ac738e47e73215dc7110edad7c2785527">VMOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a8a5c9e9b48422e429866e07bd373080d">GetLoadBias</a> () const</td></tr>
<tr class="memdesc:a8a5c9e9b48422e429866e07bd373080d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the load bias for the image.  <a href="classcrashpad_1_1ElfImageReader.html#a8a5c9e9b48422e429866e07bd373080d">More...</a><br /></td></tr>
<tr class="separator:a8a5c9e9b48422e429866e07bd373080d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9af8184a67a8a48d78a1aac48216150c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a9af8184a67a8a48d78a1aac48216150c">SoName</a> (std::string *name)</td></tr>
<tr class="memdesc:a9af8184a67a8a48d78a1aac48216150c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the name of this object using <code>DT_SONAME</code>, if present.  <a href="classcrashpad_1_1ElfImageReader.html#a9af8184a67a8a48d78a1aac48216150c">More...</a><br /></td></tr>
<tr class="separator:a9af8184a67a8a48d78a1aac48216150c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac533f0b854f09963870e4457ff2bce3b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#ac533f0b854f09963870e4457ff2bce3b">GetDynamicSymbol</a> (const std::string &amp;name, <a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> *address, <a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> *size)</td></tr>
<tr class="memdesc:ac533f0b854f09963870e4457ff2bce3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads information from the dynamic symbol table about the symbol identified by <em>name</em>.  <a href="classcrashpad_1_1ElfImageReader.html#ac533f0b854f09963870e4457ff2bce3b">More...</a><br /></td></tr>
<tr class="separator:ac533f0b854f09963870e4457ff2bce3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01391ffa016463a02e293a229e3fd554"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a01391ffa016463a02e293a229e3fd554">ReadDynamicStringTableAtOffset</a> (<a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> offset, std::string *string)</td></tr>
<tr class="memdesc:a01391ffa016463a02e293a229e3fd554"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a <code>NUL</code>-terminated C string from this image's dynamic string table.  <a href="classcrashpad_1_1ElfImageReader.html#a01391ffa016463a02e293a229e3fd554">More...</a><br /></td></tr>
<tr class="separator:a01391ffa016463a02e293a229e3fd554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae456b7627b37bf84f9241de34fde4bdb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#ae456b7627b37bf84f9241de34fde4bdb">GetDebugAddress</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> *debug)</td></tr>
<tr class="memdesc:ae456b7627b37bf84f9241de34fde4bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the debug address.  <a href="classcrashpad_1_1ElfImageReader.html#ae456b7627b37bf84f9241de34fde4bdb">More...</a><br /></td></tr>
<tr class="separator:ae456b7627b37bf84f9241de34fde4bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5458c4f58828fc39eacaa76ce4819cef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a5458c4f58828fc39eacaa76ce4819cef">GetDynamicArrayAddress</a> (<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> *address)</td></tr>
<tr class="memdesc:a5458c4f58828fc39eacaa76ce4819cef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the address of <code>PT_DYNAMIC</code> segment.  <a href="classcrashpad_1_1ElfImageReader.html#a5458c4f58828fc39eacaa76ce4819cef">More...</a><br /></td></tr>
<tr class="separator:a5458c4f58828fc39eacaa76ce4819cef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae10b55a8e2aad9cae071262285566be2"><td class="memItemLeft" align="right" valign="top"><a id="ae10b55a8e2aad9cae071262285566be2"></a>
<a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#ae10b55a8e2aad9cae071262285566be2">GetProgramHeaderTableAddress</a> ()</td></tr>
<tr class="memdesc:ae10b55a8e2aad9cae071262285566be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the address of the program header table. <br /></td></tr>
<tr class="separator:ae10b55a8e2aad9cae071262285566be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75f419233f0ec155eccfcc9e2524ea9e"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html">NoteReader</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a75f419233f0ec155eccfcc9e2524ea9e">Notes</a> (size_t max_note_size)</td></tr>
<tr class="memdesc:a75f419233f0ec155eccfcc9e2524ea9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> for this image, which scans all PT_NOTE segments in the image.  <a href="classcrashpad_1_1ElfImageReader.html#a75f419233f0ec155eccfcc9e2524ea9e">More...</a><br /></td></tr>
<tr class="separator:a75f419233f0ec155eccfcc9e2524ea9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69c03f51b2f6968f55db42f4bfa7a586"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html">NoteReader</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#a69c03f51b2f6968f55db42f4bfa7a586">NotesWithNameAndType</a> (const std::string &amp;name, <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html#a7f423d29933acb001d750a09d8b4cbd2">NoteReader::NoteType</a> type, size_t max_note_size)</td></tr>
<tr class="memdesc:a69c03f51b2f6968f55db42f4bfa7a586"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> for this image, which scans all PT_NOTE segments in the image, filtering by name and type.  <a href="classcrashpad_1_1ElfImageReader.html#a69c03f51b2f6968f55db42f4bfa7a586">More...</a><br /></td></tr>
<tr class="separator:a69c03f51b2f6968f55db42f4bfa7a586"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeaff5b74a26198e7710933010f60fb9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html">ProcessMemoryRange</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#abeaff5b74a26198e7710933010f60fb9">Memory</a> () const</td></tr>
<tr class="memdesc:abeaff5b74a26198e7710933010f60fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html" title="Provides range protected access to the memory of another process.">ProcessMemoryRange</a> restricted to the range of this image.  <a href="classcrashpad_1_1ElfImageReader.html#abeaff5b74a26198e7710933010f60fb9">More...</a><br /></td></tr>
<tr class="separator:abeaff5b74a26198e7710933010f60fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5d598e330fdf85c9eb07174628ee6a7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#af5d598e330fdf85c9eb07174628ee6a7">GetNumberOfSymbolEntriesFromDtHash</a> (<a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> *number_of_symbol_table_entries)</td></tr>
<tr class="memdesc:af5d598e330fdf85c9eb07174628ee6a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the number of symbol table entries in <code>DT_SYMTAB</code> according to the data in the <code>DT_HASH</code> section.  <a href="classcrashpad_1_1ElfImageReader.html#af5d598e330fdf85c9eb07174628ee6a7">More...</a><br /></td></tr>
<tr class="separator:af5d598e330fdf85c9eb07174628ee6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae15299d9203eac0d66ed38c1e9a47288"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ElfImageReader.html#ae15299d9203eac0d66ed38c1e9a47288">GetNumberOfSymbolEntriesFromDtGnuHash</a> (<a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> *number_of_symbol_table_entries)</td></tr>
<tr class="memdesc:ae15299d9203eac0d66ed38c1e9a47288"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the number of symbol table entries in <code>DT_SYMTAB</code> according to the data in the <code>DT_GNU_HASH</code> section.  <a href="classcrashpad_1_1ElfImageReader.html#ae15299d9203eac0d66ed38c1e9a47288">More...</a><br /></td></tr>
<tr class="separator:ae15299d9203eac0d66ed38c1e9a47288"><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 reader for ELF images mapped into another process. </p>
<p>This class is capable of reading both 32-bit and 64-bit images. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aa7d380b5d56ba94de33ad9e72e5b033f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7d380b5d56ba94de33ad9e72e5b033f">&#9670;&nbsp;</a></span>Address()</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="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> crashpad::ElfImageReader::Address </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">

<p>Returns the base address of the image's memory range. </p>
<p>This may differ from the address passed to <a class="el" href="classcrashpad_1_1ElfImageReader.html#a9a89b7570705f43a8a52b7cb7a2c9e63" title="Initializes the reader.">Initialize()</a> if the ELF header is not loaded at the start of the first <code>PT_LOAD</code> segment. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t crashpad::ElfImageReader::FileType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the file type for the image. </p>
<p>Possible values include <code>ET_EXEC</code> or <code>ET_DYN</code> from <code>&lt;elf.h&gt;</code>. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::GetDebugAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> *&#160;</td>
          <td class="paramname"><em>debug</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determine the debug address. </p>
<p>The debug address is a pointer to an <code>r_debug</code> struct defined in <code>&lt;link.h&gt;</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">debug</td><td>the debug address, if found. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the debug address was found. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::GetDynamicArrayAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> *&#160;</td>
          <td class="paramname"><em>address</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determine the address of <code>PT_DYNAMIC</code> segment. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">address</td><td>The address of the array, 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. Otherwise <code>false</code> with a message logged. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::GetDynamicSymbol </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a> *&#160;</td>
          <td class="paramname"><em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> *&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads information from the dynamic symbol table about the symbol identified by <em>name</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name of the symbol to search for. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">address</td><td>The address of the symbol in the target process' address space, if found. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">size</td><td>The size of the symbol, if found. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the symbol was found. </dd></dl>

</div>
</div>
<a id="a8a5c9e9b48422e429866e07bd373080d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a5c9e9b48422e429866e07bd373080d">&#9670;&nbsp;</a></span>GetLoadBias()</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="namespacecrashpad.html#ac738e47e73215dc7110edad7c2785527">VMOffset</a> crashpad::ElfImageReader::GetLoadBias </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">

<p>Returns the load bias for the image. </p>
<p>The load bias is the actual load address minus the preferred load address. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::GetNumberOfSymbolEntriesFromDtGnuHash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> *&#160;</td>
          <td class="paramname"><em>number_of_symbol_table_entries</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the number of symbol table entries in <code>DT_SYMTAB</code> according to the data in the <code>DT_GNU_HASH</code> section. </p>
<dl class="section note"><dt>Note</dt><dd>Exposed for testing, not normally otherwise useful.</dd>
<dd>
Depending on the linker that generated the <code>DT_GNU_HASH</code> section, this value may not be as expected if there are zero exported symbols.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">number_of_symbol_table_entries</td><td>The number of entries expected in <code>DT_SYMTAB</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if a <code>DT_GNU_HASH</code> section was found, and was read successfully, otherwise <code>false</code> with an error logged. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::GetNumberOfSymbolEntriesFromDtHash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> *&#160;</td>
          <td class="paramname"><em>number_of_symbol_table_entries</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieves the number of symbol table entries in <code>DT_SYMTAB</code> according to the data in the <code>DT_HASH</code> section. </p>
<dl class="section note"><dt>Note</dt><dd>Exposed for testing, not normally otherwise useful.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">number_of_symbol_table_entries</td><td>The number of entries expected in <code>DT_SYMTAB</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if a <code>DT_HASH</code> section was found, and was read successfully, otherwise <code>false</code> with an error logged. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::Initialize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html">ProcessMemoryRange</a> &amp;&#160;</td>
          <td class="paramname"><em>memory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#af2d003bfc8632755c60ab27bd6d1c8ae">VMAddress</a>&#160;</td>
          <td class="paramname"><em>address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>verbose</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the reader. </p>
<p>This method must be called once on an object and must be successfully called before any other method in this class may be called.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">memory</td><td>A memory reader for the remote process. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td>The address in the remote process' address space where the ELF image is loaded. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">verbose</td><td><code>true</code> if this method should log error messages during initialization. Setting this value to <code>false</code> will reduce the error messages relating to verifying the ELF image, but may not suppress logging entirely. </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html">ProcessMemoryRange</a> * crashpad::ElfImageReader::Memory </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a <a class="el" href="classcrashpad_1_1ProcessMemoryRange.html" title="Provides range protected access to the memory of another process.">ProcessMemoryRange</a> restricted to the range of this image. </p>
<p>The caller does not take ownership of the returned object. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::unique_ptr&lt; <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html">ElfImageReader::NoteReader</a> &gt; crashpad::ElfImageReader::Notes </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>max_note_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> for this image, which scans all PT_NOTE segments in the image. </p>
<p>The returned <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> is only valid for the lifetime of the <a class="el" href="classcrashpad_1_1ElfImageReader.html" title="A reader for ELF images mapped into another process.">ElfImageReader</a> that created it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">max_note_size</td><td>The maximum note size to read. Notes whose combined name, descriptor, and padding size are greater than <em>max_note_size</em> will be silently skipped. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> object capable of reading notes in this image. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::unique_ptr&lt; <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html">ElfImageReader::NoteReader</a> &gt; crashpad::ElfImageReader::NotesWithNameAndType </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html#a7f423d29933acb001d750a09d8b4cbd2">NoteReader::NoteType</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>max_note_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> for this image, which scans all PT_NOTE segments in the image, filtering by name and type. </p>
<p>The returned <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> is only valid for the lifetime of the <a class="el" href="classcrashpad_1_1ElfImageReader.html" title="A reader for ELF images mapped into another process.">ElfImageReader</a> that created it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The note name to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The note type to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">max_note_size</td><td>The maximum note size to read. Notes whose combined name, descriptor, and padding size are greater than <em>max_note_size</em> will be silently skipped. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classcrashpad_1_1ElfImageReader_1_1NoteReader.html" title="This class enables reading note segments from an ELF image.">NoteReader</a> object capable of reading notes in this image. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::ReadDynamicStringTableAtOffset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a>&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>string</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads a <code>NUL</code>-terminated C string from this image's dynamic string table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>the byte offset in the string table to start reading. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">string</td><td>the string read. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> on success. Otherwise <code>false</code> with a message logged. </dd></dl>

</div>
</div>
<a id="aff63ec7e00cd748e2395f35c0f32af15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff63ec7e00cd748e2395f35c0f32af15">&#9670;&nbsp;</a></span>Size()</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="namespacecrashpad.html#a103690edebf604dcd23d5c03b78fe0be">VMSize</a> crashpad::ElfImageReader::Size </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">

<p>Returns the size of the range containing all loaded segments for this image. </p>
<p>The size may include memory that is unmapped or mapped to other objects if this image's <code>PT_LOAD</code> segments are not contiguous. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::ElfImageReader::SoName </td>
          <td>(</td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determines the name of this object using <code>DT_SONAME</code>, if present. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>The name of this object, only valid if this method returns <code>true</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if a name was found for this object. </dd></dl>

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