blob: 22d17aae75a513db7f595c7ebc51ba5f078a249e [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::ProcessSnapshot 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_1ProcessSnapshot.html">ProcessSnapshot</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1ProcessSnapshot-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::ProcessSnapshot 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 the state of a process.
<a href="classcrashpad_1_1ProcessSnapshot.html#details">More...</a></p>
<p><code>#include &quot;snapshot/process_snapshot.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::ProcessSnapshot:</div>
<div class="dyncontent">
<div class="center">
<img src="classcrashpad_1_1ProcessSnapshot.png" usemap="#crashpad::ProcessSnapshot_map" alt=""/>
<map id="crashpad::ProcessSnapshot_map" name="crashpad::ProcessSnapshot_map">
<area href="classcrashpad_1_1ProcessSnapshotFuchsia.html" title="A ProcessSnapshot of a running (or crashed) process running on a Fuchsia system. This class is not ye..." alt="crashpad::ProcessSnapshotFuchsia" shape="rect" coords="0,56,223,80"/>
<area href="classcrashpad_1_1ProcessSnapshotLinux.html" title="A ProcessSnapshot of a running (or crashed) process running on a Linux system. " alt="crashpad::ProcessSnapshotLinux" shape="rect" coords="233,56,456,80"/>
<area href="classcrashpad_1_1ProcessSnapshotMac.html" title="A ProcessSnapshot of a running (or crashed) process running on a macOS system. " alt="crashpad::ProcessSnapshotMac" shape="rect" coords="466,56,689,80"/>
<area href="classcrashpad_1_1ProcessSnapshotMinidump.html" title="A ProcessSnapshot based on a minidump file. " alt="crashpad::ProcessSnapshotMinidump" shape="rect" coords="699,56,922,80"/>
<area href="classcrashpad_1_1ProcessSnapshotSanitized.html" title="A ProcessSnapshot which wraps and filters sensitive information from another ProcessSnapshot. " alt="crashpad::ProcessSnapshotSanitized" shape="rect" coords="932,56,1155,80"/>
<area href="classcrashpad_1_1ProcessSnapshotWin.html" title="A ProcessSnapshot of a running (or crashed) process running on a Windows system. " alt="crashpad::ProcessSnapshotWin" shape="rect" coords="1165,56,1388,80"/>
<area href="classcrashpad_1_1test_1_1TestProcessSnapshot.html" title="A test ProcessSnapshot that can carry arbitrary data for testing purposes. " alt="crashpad::test::TestProcessSnapshot" shape="rect" coords="1398,56,1621,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad857185e47bb456e0a419ab8cef2a8fc"><td class="memItemLeft" align="right" valign="top"><a id="ad857185e47bb456e0a419ab8cef2a8fc"></a>
virtual pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#ad857185e47bb456e0a419ab8cef2a8fc">ProcessID</a> () const =0</td></tr>
<tr class="memdesc:ad857185e47bb456e0a419ab8cef2a8fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the snapshot process’ process ID. <br /></td></tr>
<tr class="separator:ad857185e47bb456e0a419ab8cef2a8fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c0d70193463888d58e6e3902b17aa5e"><td class="memItemLeft" align="right" valign="top"><a id="a7c0d70193463888d58e6e3902b17aa5e"></a>
virtual pid_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a7c0d70193463888d58e6e3902b17aa5e">ParentProcessID</a> () const =0</td></tr>
<tr class="memdesc:a7c0d70193463888d58e6e3902b17aa5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the snapshot process’ parent process’ process ID. <br /></td></tr>
<tr class="separator:a7c0d70193463888d58e6e3902b17aa5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a755c58effbbfb33b4d5be963bd81079f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a755c58effbbfb33b4d5be963bd81079f">SnapshotTime</a> (timeval *snapshot_time) const =0</td></tr>
<tr class="memdesc:a755c58effbbfb33b4d5be963bd81079f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time that the snapshot was taken in <em>snapshot_time</em>. <a href="#a755c58effbbfb33b4d5be963bd81079f">More...</a><br /></td></tr>
<tr class="separator:a755c58effbbfb33b4d5be963bd81079f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e296954660e175812f99a21e1e2671"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a13e296954660e175812f99a21e1e2671">ProcessStartTime</a> (timeval *start_time) const =0</td></tr>
<tr class="memdesc:a13e296954660e175812f99a21e1e2671"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time that the snapshot process was started in <em>start_time</em>. <a href="#a13e296954660e175812f99a21e1e2671">More...</a><br /></td></tr>
<tr class="separator:a13e296954660e175812f99a21e1e2671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a2b61c60114c5ed6cac278496979575"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a9a2b61c60114c5ed6cac278496979575">ProcessCPUTimes</a> (timeval *user_time, timeval *system_time) const =0</td></tr>
<tr class="memdesc:a9a2b61c60114c5ed6cac278496979575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the snapshot process’ CPU usage times in <em>user_time</em> and <em>system_time</em>. <a href="#a9a2b61c60114c5ed6cac278496979575">More...</a><br /></td></tr>
<tr class="separator:a9a2b61c60114c5ed6cac278496979575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0e40c11c938d180ffe13d7e407a5fbb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#ae0e40c11c938d180ffe13d7e407a5fbb">ReportID</a> (<a class="el" href="structcrashpad_1_1UUID.html">UUID</a> *client_id) const =0</td></tr>
<tr class="memdesc:ae0e40c11c938d180ffe13d7e407a5fbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a UUID identifying the event that the snapshot describes. <a href="#ae0e40c11c938d180ffe13d7e407a5fbb">More...</a><br /></td></tr>
<tr class="separator:ae0e40c11c938d180ffe13d7e407a5fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1415886b55df0daef8e217254c3f2291"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a1415886b55df0daef8e217254c3f2291">ClientID</a> (<a class="el" href="structcrashpad_1_1UUID.html">UUID</a> *client_id) const =0</td></tr>
<tr class="memdesc:a1415886b55df0daef8e217254c3f2291"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a UUID identifying the client that the snapshot represents. <a href="#a1415886b55df0daef8e217254c3f2291">More...</a><br /></td></tr>
<tr class="separator:a1415886b55df0daef8e217254c3f2291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f39b29ec055fb4235e5156d55e066cb"><td class="memItemLeft" align="right" valign="top">virtual const std::map&lt; std::string, std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a7f39b29ec055fb4235e5156d55e066cb">AnnotationsSimpleMap</a> () const =0</td></tr>
<tr class="memdesc:a7f39b29ec055fb4235e5156d55e066cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns key-value string annotations recorded for the process, system, or snapshot producer. <a href="#a7f39b29ec055fb4235e5156d55e066cb">More...</a><br /></td></tr>
<tr class="separator:a7f39b29ec055fb4235e5156d55e066cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5b07daec385ab21d6e1e82d56677960"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classcrashpad_1_1SystemSnapshot.html">SystemSnapshot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#ac5b07daec385ab21d6e1e82d56677960">System</a> () const =0</td></tr>
<tr class="memdesc:ac5b07daec385ab21d6e1e82d56677960"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <a class="el" href="classcrashpad_1_1SystemSnapshot.html" title="An abstract interface to a snapshot representing the state of a system, comprising an operating syste...">SystemSnapshot</a> reflecting the characteristics of the system that ran the snapshot process at the time of the snapshot. <a href="#ac5b07daec385ab21d6e1e82d56677960">More...</a><br /></td></tr>
<tr class="separator:ac5b07daec385ab21d6e1e82d56677960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab121715bf3d05dcf38a97e8212920fd8"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; const <a class="el" href="classcrashpad_1_1ModuleSnapshot.html">ModuleSnapshot</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#ab121715bf3d05dcf38a97e8212920fd8">Modules</a> () const =0</td></tr>
<tr class="memdesc:ab121715bf3d05dcf38a97e8212920fd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <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> objects reflecting the code modules (binary images) loaded into the snapshot process at the time of the snapshot. <a href="#ab121715bf3d05dcf38a97e8212920fd8">More...</a><br /></td></tr>
<tr class="separator:ab121715bf3d05dcf38a97e8212920fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fcaf6d6c1f1d23b3ace73dfc1fb58d2"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="classcrashpad_1_1UnloadedModuleSnapshot.html">UnloadedModuleSnapshot</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a5fcaf6d6c1f1d23b3ace73dfc1fb58d2">UnloadedModules</a> () const =0</td></tr>
<tr class="memdesc:a5fcaf6d6c1f1d23b3ace73dfc1fb58d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="classcrashpad_1_1UnloadedModuleSnapshot.html" title="Information about an unloaded module that was previously loaded into a snapshot process. ">UnloadedModuleSnapshot</a> objects reflecting the code modules the were recorded as unloaded at the time of the snapshot. <a href="#a5fcaf6d6c1f1d23b3ace73dfc1fb58d2">More...</a><br /></td></tr>
<tr class="separator:a5fcaf6d6c1f1d23b3ace73dfc1fb58d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90f301f9e6cc169c47c254636ddacb1d"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; const <a class="el" href="classcrashpad_1_1ThreadSnapshot.html">ThreadSnapshot</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a90f301f9e6cc169c47c254636ddacb1d">Threads</a> () const =0</td></tr>
<tr class="memdesc:a90f301f9e6cc169c47c254636ddacb1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> objects reflecting the threads (lightweight processes) existing in the snapshot process at the time of the snapshot. <a href="#a90f301f9e6cc169c47c254636ddacb1d">More...</a><br /></td></tr>
<tr class="separator:a90f301f9e6cc169c47c254636ddacb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee793ad58b7180fc5c659ea3a8823b9"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html">ExceptionSnapshot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#abee793ad58b7180fc5c659ea3a8823b9">Exception</a> () const =0</td></tr>
<tr class="memdesc:abee793ad58b7180fc5c659ea3a8823b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html" title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a> reflecting the exception that the snapshot process sustained to trigger the snapshot being taken. <a href="#abee793ad58b7180fc5c659ea3a8823b9">More...</a><br /></td></tr>
<tr class="separator:abee793ad58b7180fc5c659ea3a8823b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f478924c3d76d85487e16686204549b"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; const <a class="el" href="classcrashpad_1_1MemoryMapRegionSnapshot.html">MemoryMapRegionSnapshot</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a7f478924c3d76d85487e16686204549b">MemoryMap</a> () const =0</td></tr>
<tr class="memdesc:a7f478924c3d76d85487e16686204549b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="classcrashpad_1_1MemoryMapRegionSnapshot.html" title="An abstract interface to a snapshot representing a region of the memory map present in the snapshot p...">MemoryMapRegionSnapshot</a> objects reflecting the regions of the memory map in the snapshot process at the time of the snapshot. <a href="#a7f478924c3d76d85487e16686204549b">More...</a><br /></td></tr>
<tr class="separator:a7f478924c3d76d85487e16686204549b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec92d647e9d548bf4cfb9237bfcbba81"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="structcrashpad_1_1HandleSnapshot.html">HandleSnapshot</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#aec92d647e9d548bf4cfb9237bfcbba81">Handles</a> () const =0</td></tr>
<tr class="memdesc:aec92d647e9d548bf4cfb9237bfcbba81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="structcrashpad_1_1HandleSnapshot.html">HandleSnapshot</a> objects reflecting the open handles in the snapshot process at the time of the snapshot. <a href="#aec92d647e9d548bf4cfb9237bfcbba81">More...</a><br /></td></tr>
<tr class="separator:aec92d647e9d548bf4cfb9237bfcbba81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a481df990e82034800cf995c77df44d9e"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; const <a class="el" href="classcrashpad_1_1MemorySnapshot.html">MemorySnapshot</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a481df990e82034800cf995c77df44d9e">ExtraMemory</a> () const =0</td></tr>
<tr class="memdesc:a481df990e82034800cf995c77df44d9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a vector of additional memory blocks that should be included in a minidump. <a href="#a481df990e82034800cf995c77df44d9e">More...</a><br /></td></tr>
<tr class="separator:a481df990e82034800cf995c77df44d9e"><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 the state of a process. </p>
<p>This is the top-level object in a family of Snapshot objects, because it gives access to a <a class="el" href="classcrashpad_1_1SystemSnapshot.html" title="An abstract interface to a snapshot representing the state of a system, comprising an operating syste...">SystemSnapshot</a>, vectors of <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> and <a class="el" href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> objects, and possibly an <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html" title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a>. In turn, <a class="el" href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> and <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html" title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a> objects both give access to <a class="el" href="structcrashpad_1_1CPUContext.html" title="A context structure capable of carrying the context of any supported CPU architecture. ">CPUContext</a> objects, and <a class="el" href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> objects also give access to <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> objects corresponding to thread stacks. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a7f39b29ec055fb4235e5156d55e066cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f39b29ec055fb4235e5156d55e066cb">&#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 const std::map&lt;std::string, std::string&gt;&amp; crashpad::ProcessSnapshot::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 for the process, system, or snapshot producer. </p>
<p>This method retrieves annotations recorded for a process. 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>Annotations stored here may reflect the process, system, or snapshot producer. Most annotations not under the client’s direct control will be retrievable by this method. For clients such as Chrome, this includes the product name and version.</p>
<p>Additional per-module annotations may be obtained by calling <a class="el" href="classcrashpad_1_1ModuleSnapshot.html#a4d1328fda3e91a4c25369b5fcc4cf2f6" title="Returns key-value string annotations recorded in the module. ">ModuleSnapshot::AnnotationsSimpleMap()</a>. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#aec23063142af82dcef82d52cfc0774a0">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#af72102fe9d035c165a971f76ed9967dd">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a6f9e48650e4d7fe0eae29c3ab8a2465b">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a48ca00793d6c0da0eb2f04c842118051">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a8b3f9074e12f04f0f02eb7acadab8764">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a70f82675540ddd6a2f77d91962ec9e3a">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#af13ec8cce7d92dccebe6c4ab61ec20e9">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a1415886b55df0daef8e217254c3f2291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1415886b55df0daef8e217254c3f2291">&#9670;&nbsp;</a></span>ClientID()</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::ProcessSnapshot::ClientID </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structcrashpad_1_1UUID.html">UUID</a> *&#160;</td>
<td class="paramname"><em>client_id</em></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 UUID identifying the client that the snapshot represents. </p>
<p>Client identification is within the scope of the application, but it is expected that the identifier will be unique for an instance of Crashpad monitoring an application or set of applications for a user. The identifier shall remain stable over time.</p>
<p>If no identifier is available, this field will contain zeroes. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a6eb9bf88dc221ccc3f891f3259621c79">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a4b42dff07349188a382157c8d0c9ce88">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a8865d738c0e4df6b76750c92a2313caf">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a0cce4e55bcea6d6d2e09bd3d494dc1ae">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a9c617ec1f0a9812b8e2030513900f437">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#ac71c04bcccec3a409b584bc1fbd00989">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a85538c374ee62566620f2ab2cc720668">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="abee793ad58b7180fc5c659ea3a8823b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abee793ad58b7180fc5c659ea3a8823b9">&#9670;&nbsp;</a></span>Exception()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html">ExceptionSnapshot</a>* crashpad::ProcessSnapshot::Exception </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 an <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html" title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a> reflecting the exception that the snapshot process sustained to trigger the snapshot being taken. </p>
<dl class="section return"><dt>Returns</dt><dd>An <a class="el" href="classcrashpad_1_1ExceptionSnapshot.html" title="An abstract interface to a snapshot representing an exception that a snapshot process sustained and t...">ExceptionSnapshot</a> object. The caller does not take ownership of this object, it is scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object that it was obtained from. If the snapshot is not a result of an exception, returns <code>nullptr</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#aa0d8839f1e8c482bd9d7794e7475a541">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a6a889e857ccd0e06ae1279c9ca708c50">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a13a450ca3d1380a57baaeb8212cd590c">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a2fb51fb1049acbeb05dac376454c0e69">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a469485952abdae4ceea8b97986f28e35">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a2b64856b2c7e02167ba6018495f596f0">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a7da0549fe7d24fa2b4192e53421a0d23">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a481df990e82034800cf995c77df44d9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a481df990e82034800cf995c77df44d9e">&#9670;&nbsp;</a></span>ExtraMemory()</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_1MemorySnapshot.html">MemorySnapshot</a>*&gt; crashpad::ProcessSnapshot::ExtraMemory </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 vector of additional memory blocks that should be included in a minidump. </p>
<dl class="section return"><dt>Returns</dt><dd>An vector of <a class="el" href="classcrashpad_1_1MemorySnapshot.html" title="An abstract interface to a snapshot representing a region of memory present in a snapshot process...">MemorySnapshot</a> objects that will be included in the crash dump. The caller does not take ownership of these objects, they are scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object that they were obtained from. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a5d76a5f6ea3ed0cb59b39694684f8cf2">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a9efeb7691b5e87da2e05f8338b3001b9">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#afe4fe8857e8633465266bc0acea7200e">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#ab485031c8e4788e2a8c11243693b1eae">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#af8ed128de759d68c5c5c1a917110dbdc">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#ad6650681c9ad591b9e9e1f1146c60822">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a4fb52f95d9eaf634dd0aa15254215b61">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="aec92d647e9d548bf4cfb9237bfcbba81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec92d647e9d548bf4cfb9237bfcbba81">&#9670;&nbsp;</a></span>Handles()</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_1HandleSnapshot.html">HandleSnapshot</a>&gt; crashpad::ProcessSnapshot::Handles </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 class="el" href="structcrashpad_1_1HandleSnapshot.html">HandleSnapshot</a> objects reflecting the open handles in the snapshot process at the time of the snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of <a class="el" href="structcrashpad_1_1HandleSnapshot.html">HandleSnapshot</a> objects. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a230acc3f1dd1cf8f4d0b2e84e106f292">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a8d048338b40bb2f2666662babd085f88">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#afa723da6e55516adee15e49de086b269">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#aafea5ed6d16262d9a6080f8270ff661b">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a4f22075a9ca4813fe71ff76d995bf036">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a380a2f8a906ad3f2321fb7e693f31f47">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#ac2c9f38544c523566da27683481b9134">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a7f478924c3d76d85487e16686204549b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f478924c3d76d85487e16686204549b">&#9670;&nbsp;</a></span>MemoryMap()</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_1MemoryMapRegionSnapshot.html">MemoryMapRegionSnapshot</a>*&gt; crashpad::ProcessSnapshot::MemoryMap </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 class="el" href="classcrashpad_1_1MemoryMapRegionSnapshot.html" title="An abstract interface to a snapshot representing a region of the memory map present in the snapshot p...">MemoryMapRegionSnapshot</a> objects reflecting the regions of the memory map in the snapshot process at the time of the snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of <a class="el" href="classcrashpad_1_1MemoryMapRegionSnapshot.html" title="An abstract interface to a snapshot representing a region of the memory map present in the snapshot p...">MemoryMapRegionSnapshot</a> objects. The caller does not take ownership of these objects, they are scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object that they were obtained from. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a8dd98712806a8f9da23e47cca3cafed1">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a8ff52c675c63d41cdf2f7663bfbbc260">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#afb03a2a266e0bb01ebe200cccda755aa">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#aaf519a073596f5a71827e65c19ce51e9">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#ac6e5935f1ba2eda2876382da9878fcdf">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a6a98f95c79205b16c3e285ee18123e5d">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#aaeb703b3b19b503b094fccf629ae72b8">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="ab121715bf3d05dcf38a97e8212920fd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab121715bf3d05dcf38a97e8212920fd8">&#9670;&nbsp;</a></span>Modules()</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_1ModuleSnapshot.html">ModuleSnapshot</a>*&gt; crashpad::ProcessSnapshot::Modules </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 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> objects reflecting the code modules (binary images) loaded into the snapshot process at the time of the snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of <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> objects. The caller does not take ownership of these objects, they are scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object that they were obtained from. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a43275d7a32de7b074d9483e845911577">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a1d75af2f52a59b61569916c968e33612">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a84212d11e5d373a1958f8cc845710320">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a7b8a4f9a977dbc6e5efc5781a0a2f2e0">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#ab4bbaa496586b81ef06267b7278e436e">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#ac17bfe6ffd2ac64bbf2124bbacdd4fc3">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a444b80f87f374d632eb69e010875fcc0">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a9a2b61c60114c5ed6cac278496979575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a2b61c60114c5ed6cac278496979575">&#9670;&nbsp;</a></span>ProcessCPUTimes()</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::ProcessSnapshot::ProcessCPUTimes </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>user_time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>system_time</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 snapshot process’ CPU usage times in <em>user_time</em> and <em>system_time</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">user_time</td><td>The time that the process has spent executing in user mode. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">system_time</td><td>The time that the process has spent executing in system (kernel) mode. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#ad608647c26f108ba2712b791b4365589">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#aa692352db6f4dec570dd9294e5204e78">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a079b5adc8d511a87b7e7aa5101c77f79">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a7c34dc77205f3d2d80f91f108b123912">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a5c6988827effad96f00f4a286d6bf342">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#ac4b2c694a952931966eb257ea5a71258">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a08d363f93f87c7173c1f03a247054168">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a13e296954660e175812f99a21e1e2671"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13e296954660e175812f99a21e1e2671">&#9670;&nbsp;</a></span>ProcessStartTime()</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::ProcessSnapshot::ProcessStartTime </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>start_time</em></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 time that the snapshot process was started in <em>start_time</em>. </p>
<p>Normally, process uptime in wall clock time can be computed as <a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a755c58effbbfb33b4d5be963bd81079f" title="Returns the time that the snapshot was taken in snapshot_time. ">SnapshotTime()</a><a class="el" href="classcrashpad_1_1ProcessSnapshot.html#a13e296954660e175812f99a21e1e2671" title="Returns the time that the snapshot process was started in start_time. ">ProcessStartTime()</a>, but this cannot be guaranteed in cases where the real-time clock has been set during the snapshot process’ lifetime.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">start_time</td><td>The time that the process was started. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a32792c433f88bf0f2499c00d9769e5aa">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#ac319ebbd8ec9b81c3861c70afe9403d1">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a5c158a725b0719cfdb7023cac0135fa3">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#af3f7c7c43ec83e3330f05f256f1b35c2">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a766fb92771455c2edc7926319c9e0e28">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a47d219d2cc943f686150adf52ffe07c6">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a3be1cc1efd90feede4c1761f4f78f6a8">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="ae0e40c11c938d180ffe13d7e407a5fbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0e40c11c938d180ffe13d7e407a5fbb">&#9670;&nbsp;</a></span>ReportID()</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::ProcessSnapshot::ReportID </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structcrashpad_1_1UUID.html">UUID</a> *&#160;</td>
<td class="paramname"><em>client_id</em></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 UUID identifying the event that the snapshot describes. </p>
<p>This provides a stable identifier for a crash even as the report is converted to different formats, provided that all formats support storing a crash report ID. When a report is originally created, a report ID should be assigned. From that point on, any operations involving the same report should preserve the same report ID.</p>
<p>If no identifier is available, this field will contain zeroes. </p>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a4f62d1d10c6baaa3b9c4f2c08762f708">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a0fd584f7a00e5f027bfba24cf5cc9d3b">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a182403646db8783fb9d2b8c091576ec1">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a7db82f881919dd9ee7d3f09502054b6d">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a3cb598eddc7de9318192be2b7302651a">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#aca4ce8c627dcb04203216df5e6a07971">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#ad246ff4d8e140ed917c2a5b92a5b4441">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a755c58effbbfb33b4d5be963bd81079f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a755c58effbbfb33b4d5be963bd81079f">&#9670;&nbsp;</a></span>SnapshotTime()</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::ProcessSnapshot::SnapshotTime </td>
<td>(</td>
<td class="paramtype">timeval *&#160;</td>
<td class="paramname"><em>snapshot_time</em></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 time that the snapshot was taken in <em>snapshot_time</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">snapshot_time</td><td>The time that the snapshot was taken. This is distinct from the time that a <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object was created or initialized, although it may be that time for <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> objects representing live or recently-crashed process state. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#abc33336e0959720987626da836e87259">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a8f1dae20abda51a69fa9fb0b2704f638">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a14e97f3c145df6a06132fe5c1d2d0338">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a00b80170fa6f12669562a28235d7e3d3">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a54fe90a5a3ab5c4d0c530f6d4cb1a311">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a652b0bad89240a9ca5d10088bf3f4e1b">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#aa2e89e89a6157258a92477705c2755e8">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="ac5b07daec385ab21d6e1e82d56677960"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5b07daec385ab21d6e1e82d56677960">&#9670;&nbsp;</a></span>System()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classcrashpad_1_1SystemSnapshot.html">SystemSnapshot</a>* crashpad::ProcessSnapshot::System </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 <a class="el" href="classcrashpad_1_1SystemSnapshot.html" title="An abstract interface to a snapshot representing the state of a system, comprising an operating syste...">SystemSnapshot</a> reflecting the characteristics of the system that ran the snapshot process at the time of the snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classcrashpad_1_1SystemSnapshot.html" title="An abstract interface to a snapshot representing the state of a system, comprising an operating syste...">SystemSnapshot</a> object. The caller does not take ownership of this object, it is scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object that it was obtained from. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a61e52051b302138d1aae28d8d36c9bfd">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#ae64058411487e5dd08469382424a24c5">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a187541e1a736d7c566cbc4fdd5a2111f">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#ab5fd5f748f03bd65db7917a2e5b100d4">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#aa81aff11a9b52a2f00d5c1fa6ce11c8c">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a90e2c5949041410bd8acd02de9669a8d">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#aa683e2031df211c36f207924f6c45ace">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a90f301f9e6cc169c47c254636ddacb1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90f301f9e6cc169c47c254636ddacb1d">&#9670;&nbsp;</a></span>Threads()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;const <a class="el" href="classcrashpad_1_1ThreadSnapshot.html">ThreadSnapshot</a>*&gt; crashpad::ProcessSnapshot::Threads </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 class="el" href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> objects reflecting the threads (lightweight processes) existing in the snapshot process at the time of the snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of <a class="el" href="classcrashpad_1_1ThreadSnapshot.html" title="An abstract interface to a snapshot representing a thread (lightweight process) present in a snapshot...">ThreadSnapshot</a> objects. The caller does not take ownership of these objects, they are scoped to the lifetime of the <a class="el" href="classcrashpad_1_1ProcessSnapshot.html" title="An abstract interface to a snapshot representing the state of a process. ">ProcessSnapshot</a> object that they were obtained from. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#aa90fabf794e8aa436dc637de4a7e8bba">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a195ed470a23bf6959f63734b8b5ebe13">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a9bf575a28c4be0f4640e73388677040d">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#ac8eecd2dee1820ae094a2344521ee805">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#ad3f1a64994ff9c59cb39def49ad1d7a9">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a08b86748766984cdc23a9ea75318850f">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a8a518d697aa1f5d165e1547472b13574">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<a id="a5fcaf6d6c1f1d23b3ace73dfc1fb58d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fcaf6d6c1f1d23b3ace73dfc1fb58d2">&#9670;&nbsp;</a></span>UnloadedModules()</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="classcrashpad_1_1UnloadedModuleSnapshot.html">UnloadedModuleSnapshot</a>&gt; crashpad::ProcessSnapshot::UnloadedModules </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 class="el" href="classcrashpad_1_1UnloadedModuleSnapshot.html" title="Information about an unloaded module that was previously loaded into a snapshot process. ">UnloadedModuleSnapshot</a> objects reflecting the code modules the were recorded as unloaded at the time of the snapshot. </p>
<dl class="section return"><dt>Returns</dt><dd>A vector of <a class="el" href="classcrashpad_1_1UnloadedModuleSnapshot.html" title="Information about an unloaded module that was previously loaded into a snapshot process. ">UnloadedModuleSnapshot</a> objects. </dd></dl>
<p>Implemented in <a class="el" href="classcrashpad_1_1test_1_1TestProcessSnapshot.html#a78cc8bba1f8bbc0347dcf0e1417e9a4c">crashpad::test::TestProcessSnapshot</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotMac.html#a8a6970f730724da7be4c348036d9504b">crashpad::ProcessSnapshotMac</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotWin.html#a1d1cee830eb326d7fbdb99881d3e3d3a">crashpad::ProcessSnapshotWin</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotFuchsia.html#a0b5bdc9ce46e0fee8814f049959f9708">crashpad::ProcessSnapshotFuchsia</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotLinux.html#a308d5a2742532d07199ce3fa7a8bcec2">crashpad::ProcessSnapshotLinux</a>, <a class="el" href="classcrashpad_1_1ProcessSnapshotSanitized.html#a8a3730e8e01b84e4da5fffaa583888ea">crashpad::ProcessSnapshotSanitized</a>, and <a class="el" href="classcrashpad_1_1ProcessSnapshotMinidump.html#a0d24462a336bdf476d21face15d34165">crashpad::ProcessSnapshotMinidump</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>snapshot/process_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>