<ahref="#pub-methods">Public Member Functions</a>|
<ahref="classcrashpad_1_1internal_1_1ModuleSnapshotWin-members.html">List of all members</a></div>
<divclass="headertitle">
<divclass="title">crashpad::internal::ModuleSnapshotWin Class Reference<spanclass="mlabels"><spanclass="mlabel">final</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>A <aclass="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> of a code module (binary image) loaded into a running (or crashed) process on a Windows system.
<areahref="classcrashpad_1_1ModuleSnapshot.html"title="An abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot ..."alt="crashpad::ModuleSnapshot"shape="rect"coords="0,0,353,24"/>
<trclass="memdesc:ae55965b09bcb1e527daa61565df8c1f4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Initializes the object. <ahref="#ae55965b09bcb1e527daa61565df8c1f4">More...</a><br/></td></tr>
<trclass="memdesc:a6b30e66dbd5646a0183daa0cb2865249"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns options from the module's <aclass="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> structure. <ahref="#a6b30e66dbd5646a0183daa0cb2865249">More...</a><br/></td></tr>
<trclass="memdesc:a92ff377db1bc97d6a8bd789c3a0763de"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the <aclass="el"href="classcrashpad_1_1PEImageReader.html"title="A reader for PE images mapped into another process. ">PEImageReader</a> used to read this module. Only valid after <aclass="el"href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#ae55965b09bcb1e527daa61565df8c1f4"title="Initializes the object. ">Initialize()</a> is called. <br/></td></tr>
<trclass="memdesc:ad63644fae49d347e9bb9f6972958048f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the module’s pathname. <br/></td></tr>
<trclass="memdesc:a92607f351bce6527804df74107990373"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the base address that the module is loaded at in the snapshot process. <br/></td></tr>
<trclass="memdesc:a6c2d757fa5f72911b0c468d2d03e53f1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the size that the module occupies in the snapshot process’ address space, starting at its base address. <ahref="#a6c2d757fa5f72911b0c468d2d03e53f1">More...</a><br/></td></tr>
<trclass="memdesc:a16faee7fa48943f54c84fc0ed67bfc42"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the module’s timestamp, if known. <ahref="#a16faee7fa48943f54c84fc0ed67bfc42">More...</a><br/></td></tr>
<trclass="memdesc:a86d3eb976881e372747389eb1b82fd7d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the module’s file version in the <em>version_*</em> parameters. <ahref="#a86d3eb976881e372747389eb1b82fd7d">More...</a><br/></td></tr>
<trclass="memdesc:a36f9c9455d8d0c24ae85d487c285f5f0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the module’s source version in the <em>version_*</em> parameters. <ahref="#a36f9c9455d8d0c24ae85d487c285f5f0">More...</a><br/></td></tr>
<trclass="memdesc:acc95b400325dae39b585b8c90f0dc0c2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the module’s <aclass="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 <aclass="el"href="structcrashpad_1_1UUID.html"title="A universally unique identifier (UUID). ">UUID</a> in <em>age</em>. <ahref="#acc95b400325dae39b585b8c90f0dc0c2">More...</a><br/></td></tr>
<trclass="memdesc:a96e58d8ff5c8d4561350ada9dbb9f926"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the module’s debug file info name. <ahref="#a96e58d8ff5c8d4561350ada9dbb9f926">More...</a><br/></td></tr>
<trclass="memdesc:a68d63086357b87a6efb722ef505bf9ce"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns string annotations recorded in the module. <ahref="#a68d63086357b87a6efb722ef505bf9ce">More...</a><br/></td></tr>
<trclass="memdesc:a4faa394de01a8b84a081edc75829ec11"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns key-value string annotations recorded in the module. <ahref="#a4faa394de01a8b84a081edc75829ec11">More...</a><br/></td></tr>
<divclass="textblock"><p>A <aclass="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> of a code module (binary image) loaded into a running (or crashed) process on a Windows system. </p>
</div><h2class="groupheader">Member Function Documentation</h2>
<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 Mac OS X snapshots, these annotations are found by interpreting the <code>__DATA, __crashpad_info</code> section as <code><aclass="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 <aclass="el"href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a68d63086357b87a6efb722ef505bf9ce"title="Returns string annotations recorded in the module. ">AnnotationsVector()</a>. Additional annotations related to the process, system, or snapshot producer may be obtained by calling <aclass="el"href="classcrashpad_1_1ProcessSnapshot.html#aa5520bf5415ef23efb49c38a1c182ef6"title="Returns key-value string annotations recorded for the process, system, or snapshot producer...">ProcessSnapshot::AnnotationsSimpleMap()</a>. </p>
<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 Mac OS X 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 <aclass="el"href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a4faa394de01a8b84a081edc75829ec11"title="Returns key-value string annotations recorded in the module. ">AnnotationsSimpleMap()</a>. </p>
<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 just be the basename of the module, because the debug info file’s name is not relevant even in split-debug scenarios.</p>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#acc95b400325dae39b585b8c90f0dc0c2"title="Returns the module’s UUID in the uuid parameter, and the age of that UUID in age. ">UUIDAndAge()</a></dd></dl>
<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 Mac OS X 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>Returns options from the module's <aclass="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> structure. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">options</td><td>Options set in the module's <aclass="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> structure. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">process_reader</td><td>A <aclass="el"href="classcrashpad_1_1ProcessReader.html"title="Accesses information about another process, identified by a Mach task. ">ProcessReader</a> for the task containing the module. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">process_reader_module</td><td>The module within the <aclass="el"href="classcrashpad_1_1ProcessReader.html"title="Accesses information about another process, identified by a Mach task. ">ProcessReader</a> for which the snapshot should be created.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd><code>true</code> if the snapshot could be created, <code>false</code> otherwise with an appropriate message logged. </dd></dl>
<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>Returns the module’s <aclass="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 <aclass="el"href="structcrashpad_1_1UUID.html"title="A universally unique identifier (UUID). ">UUID</a> in <em>age</em>. </p>
<p>A snapshot module’s <aclass="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 <aclass="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 <aclass="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>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classcrashpad_1_1internal_1_1ModuleSnapshotWin.html#a96e58d8ff5c8d4561350ada9dbb9f926"title="Returns the module’s debug file info name. ">DebugFileName()</a></dd></dl>