17#include "llvm/DebugInfo/DWARF/DWARFAddressRange.h"
26 "{0:x16}: Compile Unit: length = {1:x8}, version = {2:x}, "
27 "abbr_offset = {3:x8}, addr_size = {4:x2} (next CU at "
39 size_t num_debug_aranges = debug_aranges->
GetNumRanges();
46 llvm::Expected<llvm::DWARFAddressRangesVector> ranges =
49 for (
const llvm::DWARFAddressRange &range : *ranges)
50 debug_aranges->
AppendRange(cu_offset, range.LowPC, range.HighPC);
55 "{1:x}: {0}", cu_offset);
59 if (debug_aranges->
GetNumRanges() == num_debug_aranges) {
67 if (debug_map_sym_file) {
72 if (cu_info->compile_units_sps.empty())
78 if (debug_aranges->
GetNumRanges() == num_debug_aranges) {
86 const bool append =
true;
87 const size_t num_ranges =
88 line_table->GetContiguousFileAddressRanges(file_ranges, append);
89 for (uint32_t idx = 0; idx < num_ranges; ++idx) {
#define LLDB_LOG_ERROR(log, error,...)
LineTable * GetLineTable()
Get the line table for the compile unit.
Entry & GetEntryRef(size_t i)
A stream class that can stream formatted output to a file.
void Format(const char *format, Args &&... args)
Defines a symbol context baton that can be handed other debug core functions.
CompileUnit * comp_unit
The CompileUnit for a given query.
DWARFDIE LookupAddress(const dw_addr_t address)
void BuildAddressRangeTable(DWARFDebugAranges *debug_aranges) override
void Dump(Stream *s) const override
DWARFCompileUnit & GetNonSkeletonUnit()
dw_offset_t FindAddress(dw_addr_t address) const
void AppendRange(dw_offset_t cu_offset, dw_addr_t low_pc, dw_addr_t high_pc)
size_t GetNumRanges() const
DWARFDebugInfoEntry objects assume that they are living in one big vector and do pointer arithmetic o...
llvm::Expected< llvm::DWARFAddressRangesVector > GetAttributeAddressRanges(DWARFUnit *cu, bool check_hi_lo_pc, bool check_elaborating_dies=false) const
dw_offset_t GetAbbrevOffset() const
uint8_t GetAddressByteSize() const
const DWARFDebugInfoEntry * GetUnitDIEPtrOnly()
SymbolFileDWARF & GetSymbolFileDWARF() const
dw_offset_t GetLength() const
const DWARFDebugAranges & GetFunctionAranges()
dw_offset_t GetOffset() const
dw_offset_t GetNextUnitOffset() const
uint16_t GetVersion() const
SymbolFileDWARF & m_dwarf
DWARFUnit & GetNonSkeletonUnit()
DWARFDIE GetDIE(dw_offset_t die_offset)
CompileUnitInfo * GetCompileUnitInfo(SymbolFileDWARF *oso_dwarf)
size_t AddOSOARanges(SymbolFileDWARF *dwarf2Data, DWARFDebugAranges *debug_aranges)
CompileUnit * GetCompUnitForDWARFCompUnit(DWARFCompileUnit &dwarf_cu)
SymbolFileDWARFDebugMap * GetDebugMapSymfile()
A class that represents a running process on the host machine.
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
BaseType GetRangeBase() const
BaseType GetRangeEnd() const