LLDB
mainline
llvm-project
lldb
source
Plugins
SymbolFile
DWARF
DWARFDebugRanges.h
Go to the documentation of this file.
1
//===-- DWARFDebugRanges.h --------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGRANGES_H
10
#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGRANGES_H
11
12
#include "
lldb/Core/dwarf.h
"
13
#include <map>
14
15
class
DWARFUnit
;
16
namespace
lldb_private
{
17
class
DWARFContext;
18
}
19
20
class
DWARFDebugRanges
{
21
public
:
22
DWARFDebugRanges
();
23
24
void
Extract
(
lldb_private::DWARFContext
&context);
25
bool
FindRanges
(
const
DWARFUnit
*cu,
dw_offset_t
debug_ranges_offset,
26
DWARFRangeList
&range_list)
const
;
27
28
static
void
Dump
(
lldb_private::Stream
&s,
29
const
lldb_private::DWARFDataExtractor
&debug_ranges_data,
30
lldb::offset_t
*offset_ptr,
dw_addr_t
cu_base_addr);
31
32
protected
:
33
bool
Extract
(
lldb_private::DWARFContext
&context,
lldb::offset_t
*offset_ptr,
34
DWARFRangeList
&range_list);
35
36
typedef
std::map<dw_offset_t, DWARFRangeList>
range_map
;
37
typedef
range_map::iterator
range_map_iterator
;
38
typedef
range_map::const_iterator
range_map_const_iterator
;
39
range_map
m_range_map
;
40
};
41
42
#endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGRANGES_H
DWARFDebugRanges::DWARFDebugRanges
DWARFDebugRanges()
Definition:
DWARFDebugRanges.cpp:27
DWARFDebugRanges::range_map_const_iterator
range_map::const_iterator range_map_const_iterator
Definition:
DWARFDebugRanges.h:38
DWARFDebugRanges::range_map
std::map< dw_offset_t, DWARFRangeList > range_map
Definition:
DWARFDebugRanges.h:36
DWARFDebugRanges::FindRanges
bool FindRanges(const DWARFUnit *cu, dw_offset_t debug_ranges_offset, DWARFRangeList &range_list) const
Definition:
DWARFDebugRanges.cpp:111
lldb::offset_t
uint64_t offset_t
Definition:
lldb-types.h:87
lldb_private::Stream
Definition:
Stream.h:28
lldb_private::DWARFDataExtractor
Definition:
DWARFDataExtractor.h:18
lldb_private::DWARFContext
Definition:
DWARFContext.h:20
DWARFUnit
Definition:
DWARFUnit.h:83
DWARFDebugRanges::Extract
void Extract(lldb_private::DWARFContext &context)
Definition:
DWARFDebugRanges.cpp:29
DWARFDebugRanges
Definition:
DWARFDebugRanges.h:20
lldb_private::RangeVector
Definition:
RangeMap.h:131
dwarf.h
uint32_t
DWARFDebugRanges::Dump
static void Dump(lldb_private::Stream &s, const lldb_private::DWARFDataExtractor &debug_ranges_data, lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr)
Definition:
DWARFDebugRanges.cpp:75
DWARFDebugRanges::range_map_iterator
range_map::iterator range_map_iterator
Definition:
DWARFDebugRanges.h:37
lldb_private
A class that represents a running process on the host machine.
Definition:
SBCommandInterpreterRunOptions.h:16
dw_addr_t
uint64_t dw_addr_t
Definition:
dwarf.h:29
DWARFDebugRanges::m_range_map
range_map m_range_map
Definition:
DWARFDebugRanges.h:39
Generated on Sun May 22 2022 11:14:37 for LLDB by
1.8.17