blob: b888086083821133547dbef6653ad425c8b4093e [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::ModuleSnapshot 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.14 -->
<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_1ModuleSnapshot.html">ModuleSnapshot</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1ModuleSnapshot-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::ModuleSnapshot Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot process.
<a href="classcrashpad_1_1ModuleSnapshot.html#details">More...</a></p>
<p><code>#include &quot;snapshot/module_snapshot.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::ModuleSnapshot:</div>
<div class="dyncontent">
<div class="center">
<img src="classcrashpad_1_1ModuleSnapshot.png" usemap="#crashpad::ModuleSnapshot_map" alt=""/>
<map id="crashpad::ModuleSnapshot_map" name="crashpad::ModuleSnapshot_map">
<area href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html" title="A ModuleSnapshot of a code module (binary image) loaded into a running (or crashed) process on a syst..." alt="crashpad::internal::ModuleSnapshotElf" shape="rect" coords="0,56,267,80"/>
<area href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html" title="A ModuleSnapshot of a code module (binary image) loaded into a running (or crashed) process on a macO..." alt="crashpad::internal::ModuleSnapshotMac" shape="rect" coords="277,56,544,80"/>
<area href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html" title="A ModuleSnapshot based on a module in a minidump file. " alt="crashpad::internal::ModuleSnapshotMinidump" shape="rect" coords="554,56,821,80"/>
<area href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html" title="A ModuleSnapshot which wraps and filters sensitive information from another ModuleSnapshot. " alt="crashpad::internal::ModuleSnapshotSanitized" shape="rect" coords="831,56,1098,80"/>
<area href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html" title="A ModuleSnapshot of a code module (binary image) loaded into a running (or crashed) process on a Wind..." alt="crashpad::internal::ModuleSnapshotWin" shape="rect" coords="1108,56,1375,80"/>
<area href="classcrashpad_1_1test_1_1TestModuleSnapshot.html" title="A test ModuleSnapshot that can carry arbitrary data for testing purposes. " alt="crashpad::test::TestModuleSnapshot" shape="rect" coords="1385,56,1652,80"/>
</map>
</div></div>
<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:a7fd77f711ef04d87ece6e04d48d219f7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a7fd77f711ef04d87ece6e04d48d219f7">ModuleType</a> </td></tr>
<tr class="memdesc:a7fd77f711ef04d87ece6e04d48d219f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A module’s type. <a href="classcrashpad_1_1ModuleSnapshot.html#a7fd77f711ef04d87ece6e04d48d219f7">More...</a><br /></td></tr>
<tr class="separator:a7fd77f711ef04d87ece6e04d48d219f7"><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:aa0ab6a719fbb6f63d73e05086fe4a314"><td class="memItemLeft" align="right" valign="top"><a id="aa0ab6a719fbb6f63d73e05086fe4a314"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#aa0ab6a719fbb6f63d73e05086fe4a314">Name</a> () const =0</td></tr>
<tr class="memdesc:aa0ab6a719fbb6f63d73e05086fe4a314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s pathname. <br /></td></tr>
<tr class="separator:aa0ab6a719fbb6f63d73e05086fe4a314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7ba093097dc019648a2e58126c1df8"><td class="memItemLeft" align="right" valign="top"><a id="abc7ba093097dc019648a2e58126c1df8"></a>
virtual uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#abc7ba093097dc019648a2e58126c1df8">Address</a> () const =0</td></tr>
<tr class="memdesc:abc7ba093097dc019648a2e58126c1df8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the base address that the module is loaded at in the snapshot process. <br /></td></tr>
<tr class="separator:abc7ba093097dc019648a2e58126c1df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac412fbdc86c4b0862f74f7b06170469a"><td class="memItemLeft" align="right" valign="top">virtual uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#ac412fbdc86c4b0862f74f7b06170469a">Size</a> () const =0</td></tr>
<tr class="memdesc:ac412fbdc86c4b0862f74f7b06170469a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size that the module occupies in the snapshot process’ address space, starting at its base address. <a href="#ac412fbdc86c4b0862f74f7b06170469a">More...</a><br /></td></tr>
<tr class="separator:ac412fbdc86c4b0862f74f7b06170469a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a061dbd6816d0524396af0063e6976adb"><td class="memItemLeft" align="right" valign="top">virtual time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a061dbd6816d0524396af0063e6976adb">Timestamp</a> () const =0</td></tr>
<tr class="memdesc:a061dbd6816d0524396af0063e6976adb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s timestamp, if known. <a href="#a061dbd6816d0524396af0063e6976adb">More...</a><br /></td></tr>
<tr class="separator:a061dbd6816d0524396af0063e6976adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b3f4831720290e2ab5460ef21ff7443"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a6b3f4831720290e2ab5460ef21ff7443">FileVersion</a> (uint16_t *version_0, uint16_t *version_1, uint16_t *version_2, uint16_t *version_3) const =0</td></tr>
<tr class="memdesc:a6b3f4831720290e2ab5460ef21ff7443"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s file version in the <em>version_*</em> parameters. <a href="#a6b3f4831720290e2ab5460ef21ff7443">More...</a><br /></td></tr>
<tr class="separator:a6b3f4831720290e2ab5460ef21ff7443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ec8c62e1ff32421b01bf2677ad66761"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a5ec8c62e1ff32421b01bf2677ad66761">SourceVersion</a> (uint16_t *version_0, uint16_t *version_1, uint16_t *version_2, uint16_t *version_3) const =0</td></tr>
<tr class="memdesc:a5ec8c62e1ff32421b01bf2677ad66761"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s source version in the <em>version_*</em> parameters. <a href="#a5ec8c62e1ff32421b01bf2677ad66761">More...</a><br /></td></tr>
<tr class="separator:a5ec8c62e1ff32421b01bf2677ad66761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbed0f3c66180be9ab625fc07375dea8"><td class="memItemLeft" align="right" valign="top"><a id="abbed0f3c66180be9ab625fc07375dea8"></a>
virtual <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a7fd77f711ef04d87ece6e04d48d219f7">ModuleType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#abbed0f3c66180be9ab625fc07375dea8">GetModuleType</a> () const =0</td></tr>
<tr class="memdesc:abbed0f3c66180be9ab625fc07375dea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s type. <br /></td></tr>
<tr class="separator:abbed0f3c66180be9ab625fc07375dea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24a9de66bb92e51ac5bb3f04f076a119"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a24a9de66bb92e51ac5bb3f04f076a119">UUIDAndAge</a> (<a class="el" href="structcrashpad_1_1UUID.html">crashpad::UUID</a> *uuid, uint32_t *age) const =0</td></tr>
<tr class="memdesc:a24a9de66bb92e51ac5bb3f04f076a119"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a> in the <em>uuid</em> parameter, and the age of that <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a> in <em>age</em>. <a href="#a24a9de66bb92e51ac5bb3f04f076a119">More...</a><br /></td></tr>
<tr class="separator:a24a9de66bb92e51ac5bb3f04f076a119"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08595e35c34bb13e456cddb4f40f698"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#aa08595e35c34bb13e456cddb4f40f698">DebugFileName</a> () const =0</td></tr>
<tr class="memdesc:aa08595e35c34bb13e456cddb4f40f698"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module’s debug file info name. <a href="#aa08595e35c34bb13e456cddb4f40f698">More...</a><br /></td></tr>
<tr class="separator:aa08595e35c34bb13e456cddb4f40f698"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11075b25729fda7cf96ed8c8b25061a2"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a11075b25729fda7cf96ed8c8b25061a2">AnnotationsVector</a> () const =0</td></tr>
<tr class="memdesc:a11075b25729fda7cf96ed8c8b25061a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns string annotations recorded in the module. <a href="#a11075b25729fda7cf96ed8c8b25061a2">More...</a><br /></td></tr>
<tr class="separator:a11075b25729fda7cf96ed8c8b25061a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d1328fda3e91a4c25369b5fcc4cf2f6"><td class="memItemLeft" align="right" valign="top">virtual std::map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a4d1328fda3e91a4c25369b5fcc4cf2f6">AnnotationsSimpleMap</a> () const =0</td></tr>
<tr class="memdesc:a4d1328fda3e91a4c25369b5fcc4cf2f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns key-value string annotations recorded in the module. <a href="#a4d1328fda3e91a4c25369b5fcc4cf2f6">More...</a><br /></td></tr>
<tr class="separator:a4d1328fda3e91a4c25369b5fcc4cf2f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373ec34033c8a1558060560871b29fe4"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="structcrashpad_1_1AnnotationSnapshot.html">AnnotationSnapshot</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a373ec34033c8a1558060560871b29fe4">AnnotationObjects</a> () const =0</td></tr>
<tr class="memdesc:a373ec34033c8a1558060560871b29fe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the typed annotation objects recorded in the module. <a href="#a373ec34033c8a1558060560871b29fe4">More...</a><br /></td></tr>
<tr class="separator:a373ec34033c8a1558060560871b29fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e92412e68aa4a7e9d55fb1bf3fbafb5"><td class="memItemLeft" align="right" valign="top"><a id="a3e92412e68aa4a7e9d55fb1bf3fbafb5"></a>
virtual std::set&lt; <a class="el" href="classcrashpad_1_1CheckedRange.html">CheckedRange</a>&lt; uint64_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a3e92412e68aa4a7e9d55fb1bf3fbafb5">ExtraMemoryRanges</a> () const =0</td></tr>
<tr class="memdesc:a3e92412e68aa4a7e9d55fb1bf3fbafb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a set of extra memory ranges specified in the module as being desirable to include in the crash dump. <br /></td></tr>
<tr class="separator:a3e92412e68aa4a7e9d55fb1bf3fbafb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8e8b541c1ff276f8c55a75b7562546c"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; const <a class="el" href="classcrashpad_1_1UserMinidumpStream.html">UserMinidumpStream</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#ac8e8b541c1ff276f8c55a75b7562546c">CustomMinidumpStreams</a> () const =0</td></tr>
<tr class="memdesc:ac8e8b541c1ff276f8c55a75b7562546c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of custom minidump stream specified in the module to be included in the crash dump. <a href="#ac8e8b541c1ff276f8c55a75b7562546c">More...</a><br /></td></tr>
<tr class="separator:ac8e8b541c1ff276f8c55a75b7562546c"><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>An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot process. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a7fd77f711ef04d87ece6e04d48d219f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fd77f711ef04d87ece6e04d48d219f7">&#9670;&nbsp;</a></span>ModuleType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a7fd77f711ef04d87ece6e04d48d219f7">crashpad::ModuleSnapshot::ModuleType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>A module’s type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7fd77f711ef04d87ece6e04d48d219f7a0d87f3e0be43a8c34d84c5091547bc07"></a>kModuleTypeUnknown&#160;</td><td class="fielddoc"><p>The module’s type is unknown. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7fd77f711ef04d87ece6e04d48d219f7a5aa857de5460564df477961eac703929"></a>kModuleTypeExecutable&#160;</td><td class="fielddoc"><p>The module is a main executable. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7fd77f711ef04d87ece6e04d48d219f7a05280dd34028b7d52eb7488ec8a3e96b"></a>kModuleTypeSharedLibrary&#160;</td><td class="fielddoc"><p>The module is a shared library. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a7fd77f711ef04d87ece6e04d48d219f7aa31aa8a3aa331f3dcf49bf57d2d56b0c" title="The module is a loadable module. ">kModuleTypeLoadableModule</a> </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a7fd77f711ef04d87ece6e04d48d219f7aa31aa8a3aa331f3dcf49bf57d2d56b0c"></a>kModuleTypeLoadableModule&#160;</td><td class="fielddoc"><p>The module is a loadable module. </p>
<p>On some platforms, loadable modules are distinguished from shared libraries. On these platforms, a shared library is a module that another module links against directly, and a loadable module is not. Loadable modules tend to be binary plug-ins. </p>
</td></tr>
<tr><td class="fieldname"><a id="a7fd77f711ef04d87ece6e04d48d219f7afcee6c62064ab77825b89e4b444e3f81"></a>kModuleTypeDynamicLoader&#160;</td><td class="fielddoc"><p>The module is a dynamic loader. </p>
<p>This is the module responsible for loading other modules. This is normally <code>dyld</code> for macOS and <code>ld.so</code> for Linux and other systems using ELF. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a373ec34033c8a1558060560871b29fe4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a373ec34033c8a1558060560871b29fe4">&#9670;&nbsp;</a></span>AnnotationObjects()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;<a class="el" href="structcrashpad_1_1AnnotationSnapshot.html">AnnotationSnapshot</a>&gt; crashpad::ModuleSnapshot::AnnotationObjects </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the typed annotation objects recorded in the module. </p>
<p>This method retrieves annotations recorded in a module. These annotations are intended for diagnostic use, including crash analysis. <a class="el" href="classcrashpad_1_1Annotation.html" title="Base class for an annotation, which records a name-value pair of arbitrary data when set...">Annotation</a> objects are strongly-typed name-value pairs. The names are not unique.</p>
<p>For macOS snapshots, these annotations are found by interpreting the <code>__DATA,crashpad_info</code> section as <code><a class="el" href="structcrashpad_1_1CrashpadInfo.html" title="A structure that can be used by a Crashpad-enabled program to provide information to the Crashpad cra...">CrashpadInfo</a></code>. Clients can use the Crashpad client interface to store annotations in this structure. Most annotations under the client’s direct control will be retrievable by this method. For clients such as Chrome, this includes the process type.</p>
<p>The annotations returned by this method do not duplicate those returned by <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a11075b25729fda7cf96ed8c8b25061a2" title="Returns string annotations recorded in the module. ">AnnotationsVector()</a> or <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a4d1328fda3e91a4c25369b5fcc4cf2f6" title="Returns key-value string annotations recorded in the module. ">AnnotationsSimpleMap()</a>. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a55fc7ffacc6d77a1fb36f7234bf448af">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a993c04cb572f0aa42cb501b1c118a73e">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#aa2c9f889923c4725178bf0e6c0ea2345">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a361f67ab4af755a1147a54c8253af417">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#afee52188333f5ce88ab3b2dd4722f669">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#ae78ba959a251829475c70612b675b783">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="a4d1328fda3e91a4c25369b5fcc4cf2f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d1328fda3e91a4c25369b5fcc4cf2f6">&#9670;&nbsp;</a></span>AnnotationsSimpleMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::map&lt;std::string, std::string&gt; crashpad::ModuleSnapshot::AnnotationsSimpleMap </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns key-value string annotations recorded in the module. </p>
<p>This method retrieves annotations recorded in a module. These annotations are intended for diagnostic use, including crash analysis. “Simple annotations” are structured as a sequence of key-value pairs, where all keys and values are strings. These are referred to in Chrome as “crash keys.”</p>
<p>For macOS snapshots, these annotations are found by interpreting the <code>__DATA,crashpad_info</code> section as <code><a class="el" href="structcrashpad_1_1CrashpadInfo.html" title="A structure that can be used by a Crashpad-enabled program to provide information to the Crashpad cra...">CrashpadInfo</a></code>. Clients can use the Crashpad client interface to store annotations in this structure. Most annotations under the client’s direct control will be retrievable by this method. For clients such as Chrome, this includes the process type.</p>
<p>The annotations returned by this method do not duplicate those returned by <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a11075b25729fda7cf96ed8c8b25061a2" title="Returns string annotations recorded in the module. ">AnnotationsVector()</a> or <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a373ec34033c8a1558060560871b29fe4" title="Returns the typed annotation objects recorded in the module. ">AnnotationObjects()</a>. Additional annotations related to the process, system, or snapshot producer may be obtained by calling <a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a7f39b29ec055fb4235e5156d55e066cb" title="Returns key-value string annotations recorded for the process, system, or snapshot producer...">ProcessSnapshot::AnnotationsSimpleMap()</a>. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a2cab3a5791597068c5585aaebf9faa4e">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a4122d0649c3513608f070f234a6013b9">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#addf9d510df3a003cef7a23df9da18af2">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a54d28a9f4cd06f2446e6fcaa288360f7">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#a5650eaea4d201ffa29b0dda5bcce1cf1">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a56869a4c33b4f9c9b649fc9c8bed4334">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="a11075b25729fda7cf96ed8c8b25061a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11075b25729fda7cf96ed8c8b25061a2">&#9670;&nbsp;</a></span>AnnotationsVector()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;std::string&gt; crashpad::ModuleSnapshot::AnnotationsVector </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns string annotations recorded in the module. </p>
<p>This method retrieves annotations recorded in a module. These annotations are intended for diagnostic use, including crash analysis. A module may contain multiple annotations, so they are returned in a vector.</p>
<p>For macOS snapshots, these annotations are found by interpreting the module’s <code>__DATA,__crash_info</code> section as <code>crashreporter_annotations_t</code>. System libraries using the crash reporter client interface may reference annotations in this structure. Additional annotations messages may be found in other locations, which may be module-specific. The dynamic linker (<code>dyld</code>) can provide an annotation at its <code>_error_string</code> symbol.</p>
<p>The annotations returned by this method do not duplicate those returned by <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a4d1328fda3e91a4c25369b5fcc4cf2f6" title="Returns key-value string annotations recorded in the module. ">AnnotationsSimpleMap()</a> or <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a373ec34033c8a1558060560871b29fe4" title="Returns the typed annotation objects recorded in the module. ">AnnotationObjects()</a>. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a97cdfcc95cf23d6be000e59baa7b457b">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a6fdf9a63074896bf2c12e6df89689411">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#aff71f6520ca1666ac58a613e3a5e7c45">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a8c043511c3c3c543993da252948dfea9">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#a19863780827939572c3ea36ef0077dbe">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#acb4912296f075b1c09454b3968edd107">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="ac8e8b541c1ff276f8c55a75b7562546c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8e8b541c1ff276f8c55a75b7562546c">&#9670;&nbsp;</a></span>CustomMinidumpStreams()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;const <a class="el" href="classcrashpad_1_1UserMinidumpStream.html">UserMinidumpStream</a>*&gt; crashpad::ModuleSnapshot::CustomMinidumpStreams </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a list of custom minidump stream specified in the module to be included in the crash dump. </p>
<dl class="section return"><dt>Returns</dt><dd>The caller does not take ownership of the returned objects, they are scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ModuleSnapshot.html" title="An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot ...">ModuleSnapshot</a> object that they were obtained from. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a714541292435f313f7af71ef005db2da">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#ad816634de2d091060bb064170401976a">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#a23a84611bcc159f3b59ec93278734941">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a2817f923a6d90c1cd8d3966c2791f1e5">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#ae2a29aa22898ecad48a4d91bc4e0e64d">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a095761d13db526a0b145b05133a939c6">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="aa08595e35c34bb13e456cddb4f40f698"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa08595e35c34bb13e456cddb4f40f698">&#9670;&nbsp;</a></span>DebugFileName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::string crashpad::ModuleSnapshot::DebugFileName </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the module’s debug file info name. </p>
<p>On Windows, this references the PDB file, which contains symbol information held separately from the module itself. On other platforms, this is normally the basename of the module, because the debug info file’s name is not relevant even in split-debug scenarios.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a24a9de66bb92e51ac5bb3f04f076a119" title="Returns the module’s UUID in the uuid parameter, and the age of that UUID in age. ">UUIDAndAge()</a> </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a718634cb14e12d27fd1e531dd292a3be">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#ae819d7011878cb9aed89cd1b693cc721">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#a9fb19229fcb645db788871e14201e2e4">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a62bb8650ee3d30f289e70b9bd6c0bde3">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#ab5640b14a706cc30ade77dd4dba6e1c7">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a762284ccb6030b54a57581427379d8fe">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="a6b3f4831720290e2ab5460ef21ff7443"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b3f4831720290e2ab5460ef21ff7443">&#9670;&nbsp;</a></span>FileVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void crashpad::ModuleSnapshot::FileVersion </td>
<td>(</td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</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 the module’s file version in the <em>version_*</em> parameters. </p>
<p>If no file version can be determined, the <em>version_*</em> parameters are set to <code>0</code>.</p>
<p>For macOS snapshots, this is taken from the module’s <code>LC_ID_DYLIB</code> load command for shared libraries, and is <code>0</code> for other module types. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#ae82618e4945d0fa2f5e735578be3aa55">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a360ff8c4593575bec6cf5ad9d095fa3c">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#a3767422e2ead1489a2ef7059837bb0b1">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#ab124235bd262034c5ec432f663ee7967">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#a68b5f5bf99675f59afaad3bdf785bad6">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a0342ad96a26f86a77f535726cc9631bd">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="ac412fbdc86c4b0862f74f7b06170469a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac412fbdc86c4b0862f74f7b06170469a">&#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">virtual uint64_t crashpad::ModuleSnapshot::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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the size that the module occupies in the snapshot process’ address space, starting at its base address. </p>
<p>For macOS snapshots, this method only reports the size of the <code>__TEXT</code> segment, because segments may not be loaded contiguously. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#ac0d8018d626a6d53f6a9bd674e0a9623">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#af3935e2bc946adce23c3fb95cc8456d9">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#aed552a43442b76c93e5a1247da5426e6">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a084373912d84b791e4c13a2229976e06">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#a8b7ca559f3006665795118852f2bab89">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a35c29b29eac2bd47ae954077cd936f5a">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="a5ec8c62e1ff32421b01bf2677ad66761"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ec8c62e1ff32421b01bf2677ad66761">&#9670;&nbsp;</a></span>SourceVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void crashpad::ModuleSnapshot::SourceVersion </td>
<td>(</td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>version_3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</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 the module’s source version in the <em>version_*</em> parameters. </p>
<p>If no source version can be determined, the <em>version_*</em> parameters are set to <code>0</code>.</p>
<p>For macOS snapshots, this is taken from the module’s <code>LC_SOURCE_VERSION</code> load command. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#ad276752e9ca47b67d5e36991f0816009">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a51fff655bd3faecb23127fd2f39777fc">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#a822aba87040a4486cc2c4b5626dec578">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a457e1c01f5506646c24b721fa89eec99">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#a8184f644b6d4eace129f9918673789de">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#ad86309623b65167233cd3e6eeeb9848f">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="a061dbd6816d0524396af0063e6976adb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a061dbd6816d0524396af0063e6976adb">&#9670;&nbsp;</a></span>Timestamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual time_t crashpad::ModuleSnapshot::Timestamp </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the module’s timestamp, if known. </p>
<p>The timestamp is typically the modification time of the file that provided the module in <code>time_t</code> format, seconds since the POSIX epoch. If the module’s timestamp is unknown, this method returns <code>0</code>. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a2117384e0e2a32c50b5f79a37c8cbc69">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a713af5d32c8dbe656520fe780b1d2fdc">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#ae197da0174357aa743228d7c01531744">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a85f4158887da0a68166d878c2b2c8af9">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#a875a58ab05c48a7009eb82455a0376c6">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a02ebe0de3a782b523591ad0eb89c9dff">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<a id="a24a9de66bb92e51ac5bb3f04f076a119"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24a9de66bb92e51ac5bb3f04f076a119">&#9670;&nbsp;</a></span>UUIDAndAge()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void crashpad::ModuleSnapshot::UUIDAndAge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structcrashpad_1_1UUID.html">crashpad::UUID</a> *&#160;</td>
<td class="paramname"><em>uuid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>age</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</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 the module’s <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a> in the <em>uuid</em> parameter, and the age of that <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a> in <em>age</em>. </p>
<p>A snapshot module’s <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a> is taken directly from the module itself. If the module does not have a <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a>, the <em>uuid</em> parameter will be zeroed out.</p>
<p><em>age</em> is the number of times the <a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID). ">UUID</a> has been reused. This occurs on Windows with incremental linking. On other platforms <em>age</em> will always be <code>0</code>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classcrashpad_1_1ModuleSnapshot.html#aa08595e35c34bb13e456cddb4f40f698" title="Returns the module’s debug file info name. ">DebugFileName()</a> </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestModuleSnapshot.html#a74ace0376367c9f1fccdbc52f8922de0">crashpad::test::TestModuleSnapshot</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a7a18b084cf48b7a53f9d660e9339428f">crashpad::internal::ModuleSnapshotWin</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotElf.html#a73bf84c55dad16a6020f7a23048ade39">crashpad::internal::ModuleSnapshotElf</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMac.html#a83c57596fdff2d1bc67d2727be72c2ee">crashpad::internal::ModuleSnapshotMac</a>, <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotMinidump.html#ac874f6717e8e81464bff57db2274add5">crashpad::internal::ModuleSnapshotMinidump</a>, and <a class="el" href="classcrashpad_1_1internal_1_1ModuleSnapshotSanitized.html#a7ee07f40676778636323c2a3993b147e">crashpad::internal::ModuleSnapshotSanitized</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>snapshot/module_snapshot.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.14
</small></address>
</body>
</html>