LLDB mainline
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::minidump::MinidumpParser Class Reference

#include <MinidumpParser.h>

Public Member Functions

llvm::ArrayRef< uint8_t > GetData ()
 
llvm::ArrayRef< uint8_t > GetStream (StreamType stream_type)
 
UUID GetModuleUUID (const minidump::Module *module)
 
llvm::ArrayRef< minidump::Thread > GetThreads ()
 
llvm::ArrayRef< uint8_t > GetThreadContext (const LocationDescriptor &location)
 
llvm::ArrayRef< uint8_t > GetThreadContext (const minidump::Thread &td)
 
llvm::ArrayRef< uint8_t > GetThreadContextWow64 (const minidump::Thread &td)
 
ArchSpec GetArchitecture ()
 
const MinidumpMiscInfoGetMiscInfo ()
 
std::optional< LinuxProcStatusGetLinuxProcStatus ()
 
std::optional< lldb::pid_tGetPid ()
 
llvm::ArrayRef< minidump::Module > GetModuleList ()
 
std::vector< const minidump::Module * > GetFilteredModuleList ()
 
llvm::iterator_range< ExceptionStreamsIteratorGetExceptionStreams ()
 
std::optional< RangeFindMemoryRange (lldb::addr_t addr)
 
llvm::ArrayRef< uint8_t > GetMemory (lldb::addr_t addr, size_t size)
 
std::pair< MemoryRegionInfos, bool > BuildMemoryRegions ()
 Returns a list of memory regions and a flag indicating whether the list is complete (includes all regions mapped into the process memory).
 
llvm::iterator_range< FallibleMemory64IteratorGetMemory64Iterator (llvm::Error &err)
 
llvm::object::MinidumpFile & GetMinidumpFile ()
 

Static Public Member Functions

static llvm::Expected< MinidumpParserCreate (const lldb::DataBufferSP &data_buf_sp)
 
static llvm::StringRef GetStreamTypeAsString (StreamType stream_type)
 
static MemoryRegionInfo GetMemoryRegionInfo (const MemoryRegionInfos &regions, lldb::addr_t load_addr)
 

Private Member Functions

 MinidumpParser (lldb::DataBufferSP data_sp, std::unique_ptr< llvm::object::MinidumpFile > file)
 

Private Attributes

lldb::DataBufferSP m_data_sp
 
std::unique_ptr< llvm::object::MinidumpFile > m_file
 
ArchSpec m_arch
 

Detailed Description

Definition at line 54 of file MinidumpParser.h.

Constructor & Destructor Documentation

◆ MinidumpParser()

MinidumpParser::MinidumpParser ( lldb::DataBufferSP  data_sp,
std::unique_ptr< llvm::object::MinidumpFile >  file 
)
private

Definition at line 39 of file MinidumpParser.cpp.

Member Function Documentation

◆ BuildMemoryRegions()

std::pair< MemoryRegionInfos, bool > MinidumpParser::BuildMemoryRegions ( )

Returns a list of memory regions and a flag indicating whether the list is complete (includes all regions mapped into the process memory).

Definition at line 581 of file MinidumpParser.cpp.

References CreateRegionsCacheFromLinuxMaps(), CreateRegionsCacheFromMemoryInfoList(), and CreateRegionsCacheFromMemoryList().

◆ Create()

llvm::Expected< MinidumpParser > MinidumpParser::Create ( const lldb::DataBufferSP data_buf_sp)
static

◆ FindMemoryRange()

std::optional< minidump::Range > MinidumpParser::FindMemoryRange ( lldb::addr_t  addr)

◆ GetArchitecture()

ArchSpec MinidumpParser::GetArchitecture ( )

◆ GetData()

llvm::ArrayRef< uint8_t > MinidumpParser::GetData ( )

Definition at line 43 of file MinidumpParser.cpp.

References m_data_sp.

Referenced by FindMemoryRange(), GetModuleUUID(), and GetThreadContext().

◆ GetExceptionStreams()

llvm::iterator_range< ExceptionStreamsIterator > MinidumpParser::GetExceptionStreams ( )

Definition at line 421 of file MinidumpParser.cpp.

References GetMinidumpFile().

◆ GetFilteredModuleList()

std::vector< const minidump::Module * > MinidumpParser::GetFilteredModuleList ( )

◆ GetLinuxProcStatus()

std::optional< LinuxProcStatus > MinidumpParser::GetLinuxProcStatus ( )

Definition at line 224 of file MinidumpParser.cpp.

References GetStream(), and lldb_private::minidump::LinuxProcStatus::Parse().

Referenced by GetPid().

◆ GetMemory()

llvm::ArrayRef< uint8_t > MinidumpParser::GetMemory ( lldb::addr_t  addr,
size_t  size 
)

Definition at line 470 of file MinidumpParser.cpp.

References FindMemoryRange().

Referenced by GetThreadContextWow64().

◆ GetMemory64Iterator()

llvm::iterator_range< FallibleMemory64Iterator > MinidumpParser::GetMemory64Iterator ( llvm::Error &  err)

Definition at line 493 of file MinidumpParser.cpp.

References m_file.

Referenced by CreateRegionsCacheFromMemoryList().

◆ GetMemoryRegionInfo()

MemoryRegionInfo MinidumpParser::GetMemoryRegionInfo ( const MemoryRegionInfos regions,
lldb::addr_t  load_addr 
)
static

◆ GetMinidumpFile()

llvm::object::MinidumpFile & lldb_private::minidump::MinidumpParser::GetMinidumpFile ( )
inline

◆ GetMiscInfo()

const MinidumpMiscInfo * MinidumpParser::GetMiscInfo ( )

Definition at line 215 of file MinidumpParser.cpp.

References GetStream(), and lldb_private::minidump::MinidumpMiscInfo::Parse().

Referenced by GetPid().

◆ GetModuleList()

llvm::ArrayRef< minidump::Module > MinidumpParser::GetModuleList ( )

◆ GetModuleUUID()

UUID MinidumpParser::GetModuleUUID ( const minidump::Module *  module)

◆ GetPid()

std::optional< lldb::pid_t > MinidumpParser::GetPid ( )

◆ GetStream()

llvm::ArrayRef< uint8_t > MinidumpParser::GetStream ( StreamType  stream_type)

◆ GetStreamTypeAsString()

llvm::StringRef MinidumpParser::GetStreamTypeAsString ( StreamType  stream_type)
static

◆ GetThreadContext() [1/2]

llvm::ArrayRef< uint8_t > MinidumpParser::GetThreadContext ( const LocationDescriptor &  location)

Definition at line 94 of file MinidumpParser.cpp.

References GetData().

Referenced by GetThreadContext().

◆ GetThreadContext() [2/2]

llvm::ArrayRef< uint8_t > MinidumpParser::GetThreadContext ( const minidump::Thread &  td)

Definition at line 101 of file MinidumpParser.cpp.

References GetThreadContext().

◆ GetThreadContextWow64()

llvm::ArrayRef< uint8_t > MinidumpParser::GetThreadContextWow64 ( const minidump::Thread &  td)

◆ GetThreads()

llvm::ArrayRef< minidump::Thread > MinidumpParser::GetThreads ( )

Member Data Documentation

◆ m_arch

ArchSpec lldb_private::minidump::MinidumpParser::m_arch
private

Definition at line 114 of file MinidumpParser.h.

Referenced by GetArchitecture().

◆ m_data_sp

lldb::DataBufferSP lldb_private::minidump::MinidumpParser::m_data_sp
private

Definition at line 112 of file MinidumpParser.h.

Referenced by GetData().

◆ m_file

std::unique_ptr<llvm::object::MinidumpFile> lldb_private::minidump::MinidumpParser::m_file
private

The documentation for this class was generated from the following files: