<!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::MachOImageSymbolTableReader 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_1MachOImageSymbolTableReader.html">MachOImageSymbolTableReader</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1MachOImageSymbolTableReader-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::MachOImageSymbolTableReader Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A reader for symbol tables in Mach-O images mapped into another process.  
 <a href="classcrashpad_1_1MachOImageSymbolTableReader.html#details">More...</a></p>

<p><code>#include &quot;snapshot/mac/mach_o_image_symbol_table_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_1MachOImageSymbolTableReader_1_1SymbolInformation.html">SymbolInformation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about a symbol in a module’s symbol table.  <a href="structcrashpad_1_1MachOImageSymbolTableReader_1_1SymbolInformation.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-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7388a26dbecb47589fc7d291f61d66d8"><td class="memItemLeft" align="right" valign="top"><a id="a7388a26dbecb47589fc7d291f61d66d8"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>SymbolInformationMap</b> = std::map&lt; std::string, <a class="el" href="structcrashpad_1_1MachOImageSymbolTableReader_1_1SymbolInformation.html">SymbolInformation</a> &gt;</td></tr>
<tr class="separator:a7388a26dbecb47589fc7d291f61d66d8"><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:a2393f96ffcde38cb54752b1d75ed5f7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1MachOImageSymbolTableReader.html#a2393f96ffcde38cb54752b1d75ed5f7b">Initialize</a> (<a class="el" href="classcrashpad_1_1ProcessReaderMac.html">ProcessReaderMac</a> *process_reader, const process_types::symtab_command *symtab_command, const process_types::dysymtab_command *dysymtab_command, const <a class="el" href="classcrashpad_1_1MachOImageSegmentReader.html">MachOImageSegmentReader</a> *linkedit_segment, const std::string &amp;module_info)</td></tr>
<tr class="memdesc:a2393f96ffcde38cb54752b1d75ed5f7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the symbol table from another process.  <a href="classcrashpad_1_1MachOImageSymbolTableReader.html#a2393f96ffcde38cb54752b1d75ed5f7b">More...</a><br /></td></tr>
<tr class="separator:a2393f96ffcde38cb54752b1d75ed5f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85da22c3a7915bb5869a77765c9ffbc"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structcrashpad_1_1MachOImageSymbolTableReader_1_1SymbolInformation.html">SymbolInformation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1MachOImageSymbolTableReader.html#ac85da22c3a7915bb5869a77765c9ffbc">LookUpExternalDefinedSymbol</a> (const std::string &amp;name) const</td></tr>
<tr class="memdesc:ac85da22c3a7915bb5869a77765c9ffbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks up a symbol in the image’s symbol table.  <a href="classcrashpad_1_1MachOImageSymbolTableReader.html#ac85da22c3a7915bb5869a77765c9ffbc">More...</a><br /></td></tr>
<tr class="separator:ac85da22c3a7915bb5869a77765c9ffbc"><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 symbol tables in Mach-O images mapped into another process. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a2393f96ffcde38cb54752b1d75ed5f7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2393f96ffcde38cb54752b1d75ed5f7b">&#9670;&nbsp;</a></span>Initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::MachOImageSymbolTableReader::Initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1ProcessReaderMac.html">ProcessReaderMac</a> *&#160;</td>
          <td class="paramname"><em>process_reader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const process_types::symtab_command *&#160;</td>
          <td class="paramname"><em>symtab_command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const process_types::dysymtab_command *&#160;</td>
          <td class="paramname"><em>dysymtab_command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcrashpad_1_1MachOImageSegmentReader.html">MachOImageSegmentReader</a> *&#160;</td>
          <td class="paramname"><em>linkedit_segment</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>module_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the symbol table from another process. </p>
<p>This method must only be called once on an object. This method must be called successfully 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">process_reader</td><td>The reader for the remote process. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">symtab_command</td><td>The <code>LC_SYMTAB</code> load command that identifies the symbol table. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dysymtab_command</td><td>The <code>LC_DYSYMTAB</code> load command that identifies dynamic symbol information within the symbol table. This load command is not present in all modules, and this parameter may be <code>nullptr</code> for modules that do not have this information. When present, <em>dysymtab_command</em> is an optimization that allows the symbol table reader to only examine symbol table entries known to be relevant for its purposes. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">linkedit_segment</td><td>The <code>__LINKEDIT</code> segment. This segment should contain the data referenced by <em>symtab_command</em> and <em>dysymtab_command</em>. This may be any segment in the module, but by convention, the name <code>__LINKEDIT</code> is used for this purpose. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">module_info</td><td>A string to be used in logged messages. This string is for diagnostic purposes only, and may be empty.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the symbol table was read successfully. <code>false</code> otherwise, with an appropriate message logged. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structcrashpad_1_1MachOImageSymbolTableReader_1_1SymbolInformation.html">MachOImageSymbolTableReader::SymbolInformation</a> * crashpad::MachOImageSymbolTableReader::LookUpExternalDefinedSymbol </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Looks up a symbol in the image’s symbol table. </p>
<p>The returned information captures the symbol as it exists in the image’s symbol table, not adjusted for any “slide.”</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 look up, “mangled” or “decorated” appropriately. For example, use <code>"_main"</code> to look up the symbol for the C <code>main()</code> function, and use <code>"__Z4Funcv"</code> to look up the symbol for the C++ <code>Func()</code> function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A SymbolInformation* object with information about the symbol if it was found, or <code>nullptr</code> if the symbol was not found or if an error occurred. On error, a warning message will also be logged. The caller does not take ownership; the lifetime of the returned object is scoped to the lifetime of this <a class="el" href="classcrashpad_1_1MachOImageSymbolTableReader.html" title="A reader for symbol tables in Mach-O images mapped into another process.">MachOImageSymbolTableReader</a> object.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Symbol values returned via this interface are not adjusted for “slide.” For slide-adjusted values, use the higher-level <a class="el" href="classcrashpad_1_1MachOImageReader.html#adbaaf5a08d6e67fe7128d171cd11b176" title="Looks up a symbol in the image’s symbol table.">MachOImageReader::LookUpExternalDefinedSymbol()</a> interface. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>snapshot/mac/mach_o_image_symbol_table_reader.h</li>
<li>snapshot/mac/mach_o_image_symbol_table_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>
