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>

Collaboration diagram for lldb_private::minidump::MinidumpParser:
Collaboration graph
[legend]

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 ()
 
llvm::Optional< LinuxProcStatusGetLinuxProcStatus ()
 
llvm::Optional< lldb::pid_tGetPid ()
 
llvm::ArrayRef< minidump::Module > GetModuleList ()
 
std::vector< const minidump::Module * > GetFilteredModuleList ()
 
const llvm::minidump::ExceptionStream * GetExceptionStream ()
 
llvm::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). More...
 
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 50 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 37 of file MinidumpParser.cpp.

Referenced by Create().

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 611 of file MinidumpParser.cpp.

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

◆ Create()

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

Definition at line 28 of file MinidumpParser.cpp.

References MinidumpParser().

Referenced by lldb_private::minidump::ProcessMinidump::DoLoadCore().

◆ FindMemoryRange()

llvm::Optional< minidump::Range > MinidumpParser::FindMemoryRange ( lldb::addr_t  addr)

◆ GetArchitecture()

ArchSpec MinidumpParser::GetArchitecture ( )

◆ GetData()

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

Definition at line 41 of file MinidumpParser.cpp.

References m_data_sp.

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

◆ GetExceptionStream()

const minidump::ExceptionStream * MinidumpParser::GetExceptionStream ( )

◆ GetFilteredModuleList()

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

◆ GetLinuxProcStatus()

llvm::Optional< LinuxProcStatus > MinidumpParser::GetLinuxProcStatus ( )

Definition at line 226 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 496 of file MinidumpParser.cpp.

References FindMemoryRange().

Referenced by GetThreadContextWow64().

◆ 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 217 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()

llvm::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

Definition at line 638 of file MinidumpParser.cpp.

References ENUM_TO_CSTR.

Referenced by CommandObjectProcessMinidumpDump::DoExecute().

◆ 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 108 of file MinidumpParser.h.

Referenced by GetArchitecture().

◆ m_data_sp

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

Definition at line 106 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: