LLDB  mainline
Classes | Enumerations | Functions
lldb_private::minidump Namespace Reference

Classes

class  LinuxProcStatus
 
struct  MinidumpContext_x86_32
 
struct  MinidumpContext_x86_64
 
struct  MinidumpFloatingSaveAreaX86
 
struct  MinidumpMemoryDescriptor64
 
struct  MinidumpMiscInfo
 
class  MinidumpParser
 
struct  MinidumpXMMSaveArea32AMD64
 
class  ProcessMinidump
 
struct  Range
 
class  RegisterContextMinidump_ARM
 
class  RegisterContextMinidump_ARM64
 
struct  TEB64
 
class  ThreadMinidump
 
struct  Uint128
 

Enumerations

enum  CvSignature : uint32_t { CvSignature::Pdb70 = 0x53445352, CvSignature::ElfBuildId = 0x4270454c }
 
enum  MinidumpMiscInfoFlags : uint32_t { MinidumpMiscInfoFlags::ProcessID = (1 << 0), MinidumpMiscInfoFlags::ProcessTimes = (1 << 1) }
 
enum  MinidumpContext_x86_32_Flags : uint32_t {
  MinidumpContext_x86_32_Flags::x86_32_Flag = 0x00010000, MinidumpContext_x86_32_Flags::Control = x86_32_Flag | 0x00000001, MinidumpContext_x86_32_Flags::Integer = x86_32_Flag | 0x00000002, MinidumpContext_x86_32_Flags::Segments = x86_32_Flag | 0x00000004,
  MinidumpContext_x86_32_Flags::FloatingPoint = x86_32_Flag | 0x00000008, MinidumpContext_x86_32_Flags::DebugRegisters = x86_32_Flag | 0x00000010, MinidumpContext_x86_32_Flags::ExtendedRegisters = x86_32_Flag | 0x00000020, MinidumpContext_x86_32_Flags::XState = x86_32_Flag | 0x00000040,
  MinidumpContext_x86_32_Flags::Full = Control | Integer | Segments, MinidumpContext_x86_32_Flags::All = Full | FloatingPoint | DebugRegisters | ExtendedRegisters
}
 
enum  MinidumpContext_x86_64_Flags : uint32_t {
  MinidumpContext_x86_64_Flags::x86_64_Flag = 0x00100000, MinidumpContext_x86_64_Flags::Control = x86_64_Flag | 0x00000001, MinidumpContext_x86_64_Flags::Integer = x86_64_Flag | 0x00000002, MinidumpContext_x86_64_Flags::Segments = x86_64_Flag | 0x00000004,
  MinidumpContext_x86_64_Flags::FloatingPoint = x86_64_Flag | 0x00000008, MinidumpContext_x86_64_Flags::DebugRegisters = x86_64_Flag | 0x00000010, MinidumpContext_x86_64_Flags::XState = x86_64_Flag | 0x00000040, MinidumpContext_x86_64_Flags::Full = Control | Integer | FloatingPoint,
  MinidumpContext_x86_64_Flags::All = Full | Segments | DebugRegisters
}
 

Functions

 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
 
template<typename T >
Status consumeObject (llvm::ArrayRef< uint8_t > &Buffer, const T *&Object)
 
lldb::DataBufferSP ConvertMinidumpContext_x86_32 (llvm::ArrayRef< uint8_t > source_data, RegisterInfoInterface *target_reg_interface)
 
lldb::DataBufferSP ConvertMinidumpContext_x86_64 (llvm::ArrayRef< uint8_t > source_data, RegisterInfoInterface *target_reg_interface)
 

Enumeration Type Documentation

◆ CvSignature

Enumerator
Pdb70 
ElfBuildId 

Definition at line 38 of file MinidumpTypes.h.

◆ MinidumpContext_x86_32_Flags

Enumerator
x86_32_Flag 
Control 
Integer 
Segments 
FloatingPoint 
DebugRegisters 
ExtendedRegisters 
XState 
Full 
All 

Definition at line 117 of file RegisterContextMinidump_x86_32.h.

◆ MinidumpContext_x86_64_Flags

Enumerator
x86_64_Flag 
Control 
Integer 
Segments 
FloatingPoint 
DebugRegisters 
XState 
Full 
All 

Definition at line 163 of file RegisterContextMinidump_x86_64.h.

◆ MinidumpMiscInfoFlags

Enumerator
ProcessID 
ProcessTimes 

Definition at line 43 of file MinidumpTypes.h.

Function Documentation

◆ consumeObject()

template<typename T >
Status lldb_private::minidump::consumeObject ( llvm::ArrayRef< uint8_t > &  Buffer,
const T *&  Object 
)

◆ ConvertMinidumpContext_x86_32()

lldb::DataBufferSP lldb_private::minidump::ConvertMinidumpContext_x86_32 ( llvm::ArrayRef< uint8_t >  source_data,
RegisterInfoInterface target_reg_interface 
)

Definition at line 24 of file RegisterContextMinidump_x86_32.cpp.

References consumeObject(), lldb_private::minidump::MinidumpContext_x86_32::context_flags, Control, lldb_private::minidump::MinidumpContext_x86_32::cs, lldb_private::minidump::MinidumpContext_x86_32::ds, lldb_private::minidump::MinidumpContext_x86_32::eax, lldb_private::minidump::MinidumpContext_x86_32::ebp, lldb_private::minidump::MinidumpContext_x86_32::ebx, lldb_private::minidump::MinidumpContext_x86_32::ecx, lldb_private::minidump::MinidumpContext_x86_32::edi, lldb_private::minidump::MinidumpContext_x86_32::edx, lldb_private::minidump::MinidumpContext_x86_32::eflags, lldb_private::minidump::MinidumpContext_x86_32::eip, lldb_private::minidump::MinidumpContext_x86_32::es, lldb_private::minidump::MinidumpContext_x86_32::esi, lldb_private::minidump::MinidumpContext_x86_32::esp, lldb_private::minidump::MinidumpContext_x86_32::fs, lldb_private::RegisterInfoInterface::GetGPRSize(), lldb_private::RegisterInfoInterface::GetRegisterInfo(), lldb_private::minidump::MinidumpContext_x86_32::gs, Integer, lldb_private::lldb_cs_i386, lldb_private::lldb_ds_i386, lldb_private::lldb_eax_i386, lldb_private::lldb_ebp_i386, lldb_private::lldb_ebx_i386, lldb_private::lldb_ecx_i386, lldb_private::lldb_edi_i386, lldb_private::lldb_edx_i386, lldb_private::lldb_eflags_i386, lldb_private::lldb_eip_i386, lldb_private::lldb_es_i386, lldb_private::lldb_esi_i386, lldb_private::lldb_esp_i386, lldb_private::lldb_fs_i386, lldb_private::lldb_gs_i386, lldb_private::lldb_ss_i386, Segments, lldb_private::minidump::MinidumpContext_x86_32::ss, writeRegister(), and x86_32_Flag.

Referenced by lldb_private::minidump::ThreadMinidump::CreateRegisterContextForFrame().

◆ ConvertMinidumpContext_x86_64()

lldb::DataBufferSP lldb_private::minidump::ConvertMinidumpContext_x86_64 ( llvm::ArrayRef< uint8_t >  source_data,
RegisterInfoInterface target_reg_interface 
)

Definition at line 47 of file RegisterContextMinidump_x86_64.cpp.

References consumeObject(), lldb_private::minidump::MinidumpContext_x86_64::context_flags, Control, lldb_private::minidump::MinidumpContext_x86_64::cs, lldb_private::minidump::MinidumpContext_x86_64::ds, lldb_private::minidump::MinidumpContext_x86_64::eflags, lldb_private::minidump::MinidumpContext_x86_64::es, lldb_private::minidump::MinidumpContext_x86_64::fs, lldb_private::RegisterInfoInterface::GetGPRSize(), lldb_private::RegisterInfoInterface::GetRegisterInfo(), lldb_private::minidump::MinidumpContext_x86_64::gs, Integer, lldb_private::lldb_cs_x86_64, lldb_private::lldb_ds_x86_64, lldb_private::lldb_es_x86_64, lldb_private::lldb_fs_x86_64, lldb_private::lldb_gs_x86_64, lldb_private::lldb_r10_x86_64, lldb_private::lldb_r11_x86_64, lldb_private::lldb_r12_x86_64, lldb_private::lldb_r13_x86_64, lldb_private::lldb_r14_x86_64, lldb_private::lldb_r15_x86_64, lldb_private::lldb_r8_x86_64, lldb_private::lldb_r9_x86_64, lldb_private::lldb_rax_x86_64, lldb_private::lldb_rbp_x86_64, lldb_private::lldb_rbx_x86_64, lldb_private::lldb_rcx_x86_64, lldb_private::lldb_rdi_x86_64, lldb_private::lldb_rdx_x86_64, lldb_private::lldb_rflags_x86_64, lldb_private::lldb_rip_x86_64, lldb_private::lldb_rsi_x86_64, lldb_private::lldb_rsp_x86_64, lldb_private::lldb_ss_x86_64, lldb_private::minidump::MinidumpContext_x86_64::r10, lldb_private::minidump::MinidumpContext_x86_64::r11, lldb_private::minidump::MinidumpContext_x86_64::r12, lldb_private::minidump::MinidumpContext_x86_64::r13, lldb_private::minidump::MinidumpContext_x86_64::r14, lldb_private::minidump::MinidumpContext_x86_64::r15, lldb_private::minidump::MinidumpContext_x86_64::r8, lldb_private::minidump::MinidumpContext_x86_64::r9, lldb_private::minidump::MinidumpContext_x86_64::rax, lldb_private::minidump::MinidumpContext_x86_64::rbp, lldb_private::minidump::MinidumpContext_x86_64::rbx, lldb_private::minidump::MinidumpContext_x86_64::rcx, lldb_private::minidump::MinidumpContext_x86_64::rdi, lldb_private::minidump::MinidumpContext_x86_64::rdx, lldb_private::minidump::MinidumpContext_x86_64::rip, lldb_private::minidump::MinidumpContext_x86_64::rsi, lldb_private::minidump::MinidumpContext_x86_64::rsp, Segments, lldb_private::minidump::MinidumpContext_x86_64::ss, writeRegister(), and x86_64_Flag.

Referenced by lldb_private::minidump::ThreadMinidump::CreateRegisterContextForFrame().

◆ LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()

lldb_private::minidump::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ( )