28 section_sp->GetSectionData(data);
34 std::optional<SectionType> dwo_section_type,
36 llvm::call_once(data.
flag, [&] {
37 if (dwo_section_type && isDwo())
38 data.data = LoadSection(m_dwo_section_list, *dwo_section_type);
39 else if (main_section_type)
40 data.data = LoadSection(m_main_section_list, *main_section_type);
130 llvm::StringMap<std::unique_ptr<llvm::MemoryBuffer>> section_map;
131 uint8_t addr_size = 0;
135 addr_size = data.GetAddressByteSize();
137 section_map.try_emplace(
138 name, llvm::MemoryBuffer::getMemBuffer(toStringRef(data.GetData()),
149 m_llvm_context = llvm::DWARFContext::create(section_map, addr_size);
static DWARFDataExtractor LoadSection(SectionList *section_list, SectionType section_type)
lldb::SectionSP FindSectionByType(lldb::SectionType sect_type, bool check_children, size_t start_idx=0) const
const DWARFDataExtractor & getOrLoadLineData()
const DWARFDataExtractor & getOrLoadTuIndexData()
SectionData m_data_debug_str_offsets
const DWARFDataExtractor & getOrLoadLocListsData()
SectionData m_data_debug_str
const DWARFDataExtractor & getOrLoadStrOffsetsData()
const DWARFDataExtractor & getOrLoadCuIndexData()
std::unique_ptr< llvm::DWARFContext > m_llvm_context
SectionData m_data_debug_tu_index
const DWARFDataExtractor & getOrLoadStrData()
SectionData m_data_debug_info
SectionData m_data_debug_loclists
SectionData m_data_debug_abbrev
SectionData m_data_debug_line_str
llvm::DWARFContext & GetAsLLVM()
SectionData m_data_debug_ranges
const DWARFDataExtractor & LoadOrGetSection(std::optional< lldb::SectionType > main_section_type, std::optional< lldb::SectionType > dwo_section_type, SectionData &data)
SectionData m_data_debug_rnglists
SectionData m_data_debug_line
const DWARFDataExtractor & getOrLoadArangesData()
SectionData m_data_debug_cu_index
SectionData m_data_debug_aranges
SectionData m_data_debug_types
const DWARFDataExtractor & getOrLoadDebugTypesData()
const DWARFDataExtractor & getOrLoadDebugInfoData()
const DWARFDataExtractor & getOrLoadRangesData()
const DWARFDataExtractor & getOrLoadRngListsData()
const DWARFDataExtractor & getOrLoadAbbrevData()
const DWARFDataExtractor & getOrLoadMacroData()
const DWARFDataExtractor & getOrLoadLocData()
SectionData m_data_debug_addr
SectionData m_data_debug_loc
const DWARFDataExtractor & getOrLoadLineStrData()
const DWARFDataExtractor & getOrLoadAddrData()
SectionData m_data_debug_macro
A class that represents a running process on the host machine.
@ eSectionTypeDWARFDebugStrOffsets
@ eSectionTypeDWARFDebugLocDwo
@ eSectionTypeDWARFDebugLocLists
DWARF v5 .debug_loclists.
@ eSectionTypeDWARFDebugTypes
DWARF .debug_types section.
@ eSectionTypeDWARFDebugRngLists
DWARF v5 .debug_rnglists.
@ eSectionTypeDWARFDebugStrOffsetsDwo
@ eSectionTypeDWARFDebugMacro
@ eSectionTypeDWARFDebugInfo
@ eSectionTypeDWARFDebugTypesDwo
@ eSectionTypeDWARFDebugRanges
@ eSectionTypeDWARFDebugRngListsDwo
@ eSectionTypeDWARFDebugLine
@ eSectionTypeDWARFDebugTuIndex
@ eSectionTypeDWARFDebugStr
@ eSectionTypeDWARFDebugLineStr
DWARF v5 .debug_line_str.
@ eSectionTypeDWARFDebugLoc
@ eSectionTypeDWARFDebugCuIndex
@ eSectionTypeDWARFDebugAranges
@ eSectionTypeDWARFDebugAbbrevDwo
@ eSectionTypeDWARFDebugStrDwo
@ eSectionTypeDWARFDebugAbbrev
@ eSectionTypeDWARFDebugLocListsDwo
@ eSectionTypeDWARFDebugInfoDwo
@ eSectionTypeDWARFDebugAddr