<!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: Class Members</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>
</div><!-- top -->
<!-- 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 class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>

<h3><a id="index_l"></a>- l -</h3><ul>
<li>last_branch_from_rip
: <a class="el" href="structcrashpad_1_1MinidumpContextAMD64.html#a12fa155fe145da64a263608a730a8bd0">crashpad::MinidumpContextAMD64</a>
</li>
<li>last_branch_to_rip
: <a class="el" href="structcrashpad_1_1MinidumpContextAMD64.html#a97d843d787b98ac66727eec0370f5fba">crashpad::MinidumpContextAMD64</a>
</li>
<li>last_exception_from_rip
: <a class="el" href="structcrashpad_1_1MinidumpContextAMD64.html#a9ccedfe70b69c6d4fd4479578a859698">crashpad::MinidumpContextAMD64</a>
</li>
<li>last_exception_to_rip
: <a class="el" href="structcrashpad_1_1MinidumpContextAMD64.html#a428db4b73e349e452c15f74aab491631">crashpad::MinidumpContextAMD64</a>
</li>
<li>last_upload_attempt_time
: <a class="el" href="structcrashpad_1_1CrashReportDatabase_1_1Report.html#a443ff8d2cf61e4c8f539470285286638">crashpad::CrashReportDatabase::Report</a>
</li>
<li>Launch()
: <a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a99fbff379b0b4e52f15b5d0166aea490">crashpad::test::WinChildProcess</a>
</li>
<li>Leaf7Features()
: <a class="el" href="classcrashpad_1_1internal_1_1CpuidReader.html#a1e34a79bb568ef785c255a5594ec5bcc">crashpad::internal::CpuidReader</a>
</li>
<li>len()
: <a class="el" href="classcrashpad_1_1ScopedMmap.html#a430d138d22b27b5553baf7d47b05519d">crashpad::ScopedMmap</a>
</li>
<li>length
: <a class="el" href="structcrashpad_1_1MinidumpByteArray.html#a4c750773b46718036db9a0835523bfac">crashpad::MinidumpByteArray</a>
</li>
<li>Length
: <a class="el" href="structcrashpad_1_1MinidumpUTF8String.html#a5c2b5d489a10e6a896cd53b903589e43">crashpad::MinidumpUTF8String</a>
, <a class="el" href="structIMAGE__DEBUG__MISC.html#a4b887ef30968ade59175e44d4c1b3be7">IMAGE_DEBUG_MISC</a>
, <a class="el" href="structMINIDUMP__STRING.html#a1dbda2f62d1b74e2a13fdbae7a13252d">MINIDUMP_STRING</a>
</li>
<li>LifetimeMilestone
: <a class="el" href="classcrashpad_1_1Metrics.html#a14f5476a370951cfeaa514c3eea6226d">crashpad::Metrics</a>
</li>
<li>list_annotations
: <a class="el" href="structcrashpad_1_1MinidumpModuleCrashpadInfo.html#a2ff38a7202adb5f8d3b8a3ede61ca4ec">crashpad::MinidumpModuleCrashpadInfo</a>
</li>
<li>lo
: <a class="el" href="structcrashpad_1_1uint128__struct.html#aa96483c6fb42bba3fb6e35165a089ff0">crashpad::uint128_struct</a>
</li>
<li>load_bias
: <a class="el" href="structcrashpad_1_1DebugRendezvous_1_1LinkEntry.html#ac9cdaf511f491abf7841024f7a909187">crashpad::DebugRendezvous::LinkEntry</a>
</li>
<li>LocalPort()
: <a class="el" href="classcrashpad_1_1test_1_1MachMultiprocess.html#ad1784dd4a9159cdea51290fbc15db64b">crashpad::test::MachMultiprocess</a>
</li>
<li>location
: <a class="el" href="structcrashpad_1_1MinidumpModuleCrashpadInfoLink.html#ad788b55dbeadc796d40b907de7fa9f9e">crashpad::MinidumpModuleCrashpadInfoLink</a>
</li>
<li>Location
: <a class="el" href="structMINIDUMP__DIRECTORY.html#a7e0e309a9e7c63c1205843a34fa0006a">MINIDUMP_DIRECTORY</a>
</li>
<li>log_messages()
: <a class="el" href="classcrashpad_1_1ThreadLogMessages.html#ae06f18bb5d37bdb611f33da478c69e9b">crashpad::ThreadLogMessages</a>
</li>
<li>LoggingRangeIsFullyReadable()
: <a class="el" href="classcrashpad_1_1ProcessInfo.html#ab9ac196dd7a93c528fdc2315f825e877">crashpad::ProcessInfo</a>
</li>
<li>LookUpCrashReport()
: <a class="el" href="classcrashpad_1_1CrashReportDatabase.html#a19191932252bc836a84cf432ea8f3b7e">crashpad::CrashReportDatabase</a>
, <a class="el" href="classcrashpad_1_1CrashReportDatabaseGeneric.html#a0694c0d8f7758f990f653d542dd8986c">crashpad::CrashReportDatabaseGeneric</a>
, <a class="el" href="classcrashpad_1_1CrashReportDatabaseMac.html#a17f445e44bd09f86b352fa5846e9ff35">crashpad::CrashReportDatabaseMac</a>
, <a class="el" href="classcrashpad_1_1CrashReportDatabaseWin.html#a169d708e76fff838309dfa46095a04e7">crashpad::CrashReportDatabaseWin</a>
</li>
<li>LookUpExternalDefinedSymbol()
: <a class="el" href="classcrashpad_1_1MachOImageReader.html#adbaaf5a08d6e67fe7128d171cd11b176">crashpad::MachOImageReader</a>
, <a class="el" href="classcrashpad_1_1MachOImageSymbolTableReader.html#ac85da22c3a7915bb5869a77765c9ffbc">crashpad::MachOImageSymbolTableReader</a>
</li>
<li>LookUpSymbol()
: <a class="el" href="classcrashpad_1_1test_1_1ScopedModuleHandle.html#a6771dd2f9f6b1553f3fd6df80225af32">crashpad::test::ScopedModuleHandle</a>
</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>
