LLDB  mainline
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MinidumpFileBuilder Class Reference

#include <MinidumpFileBuilder.h>

Collaboration diagram for MinidumpFileBuilder:
Collaboration graph

Public Member Functions

 MinidumpFileBuilder ()=default
 MinidumpFileBuilder (const MinidumpFileBuilder &)=delete
MinidumpFileBuilderoperator= (const MinidumpFileBuilder &)=delete
 MinidumpFileBuilder (MinidumpFileBuilder &&other)=default
MinidumpFileBuilderoperator= (MinidumpFileBuilder &&other)=default
 ~MinidumpFileBuilder ()=default
lldb_private::Status AddSystemInfo (const llvm::Triple &target_triple)
lldb_private::Status AddModuleList (lldb_private::Target &target)
lldb_private::Status AddThreadList (const lldb::ProcessSP &process_sp)
lldb_private::Status AddException (const lldb::ProcessSP &process_sp)
lldb_private::Status AddMemoryList (const lldb::ProcessSP &process_sp)
void AddMiscInfo (const lldb::ProcessSP &process_sp)
void AddLinuxFileStreams (const lldb::ProcessSP &process_sp)
lldb_private::Status Dump (lldb::FileUP &core_file) const
size_t GetDirectoriesNum () const

Private Member Functions

void AddDirectory (llvm::minidump::StreamType type, size_t stream_size)
size_t GetCurrentDataEndOffset () const

Private Attributes

std::vector< llvm::minidump::Directory > m_directories
lldb_private::DataBufferHeap m_data

Detailed Description

Minidump writer for Linux

This class provides a Minidump writer that is able to snapshot the current process state. For the whole time, it stores all the data on heap.

Definition at line 40 of file MinidumpFileBuilder.h.

Constructor & Destructor Documentation

◆ MinidumpFileBuilder() [1/3]

MinidumpFileBuilder::MinidumpFileBuilder ( )

◆ MinidumpFileBuilder() [2/3]

MinidumpFileBuilder::MinidumpFileBuilder ( const MinidumpFileBuilder )

◆ MinidumpFileBuilder() [3/3]

MinidumpFileBuilder::MinidumpFileBuilder ( MinidumpFileBuilder &&  other)

◆ ~MinidumpFileBuilder()

MinidumpFileBuilder::~MinidumpFileBuilder ( )

Member Function Documentation

◆ AddDirectory()

void MinidumpFileBuilder::AddDirectory ( llvm::minidump::StreamType  type,
size_t  stream_size 

Definition at line 37 of file MinidumpFileBuilder.cpp.

◆ AddException()

Status MinidumpFileBuilder::AddException ( const lldb::ProcessSP &  process_sp)

◆ AddLinuxFileStreams()

void MinidumpFileBuilder::AddLinuxFileStreams ( const lldb::ProcessSP &  process_sp)

◆ AddMemoryList()

lldb_private::Status MinidumpFileBuilder::AddMemoryList ( const lldb::ProcessSP &  process_sp)

◆ AddMiscInfo()

void MinidumpFileBuilder::AddMiscInfo ( const lldb::ProcessSP &  process_sp)

◆ AddModuleList()

Status MinidumpFileBuilder::AddModuleList ( lldb_private::Target target)

◆ AddSystemInfo()

Status MinidumpFileBuilder::AddSystemInfo ( const llvm::Triple &  target_triple)

Definition at line 50 of file MinidumpFileBuilder.cpp.

References error(), string(), and WriteString().

Referenced by ObjectFileMinidump::SaveCore().

◆ AddThreadList()

Status MinidumpFileBuilder::AddThreadList ( const lldb::ProcessSP &  process_sp)

◆ Dump()

Status MinidumpFileBuilder::Dump ( lldb::FileUP &  core_file) const

Definition at line 705 of file MinidumpFileBuilder.cpp.

References error().

Referenced by ObjectFileMinidump::SaveCore().

◆ GetCurrentDataEndOffset()

size_t MinidumpFileBuilder::GetCurrentDataEndOffset ( ) const

Definition at line 770 of file MinidumpFileBuilder.cpp.

◆ GetDirectoriesNum()

size_t MinidumpFileBuilder::GetDirectoriesNum ( ) const

Definition at line 766 of file MinidumpFileBuilder.cpp.

◆ operator=() [1/2]

MinidumpFileBuilder& MinidumpFileBuilder::operator= ( const MinidumpFileBuilder )

◆ operator=() [2/2]

MinidumpFileBuilder& MinidumpFileBuilder::operator= ( MinidumpFileBuilder &&  other)

Member Data Documentation

◆ m_data

lldb_private::DataBufferHeap MinidumpFileBuilder::m_data

Definition at line 89 of file MinidumpFileBuilder.h.

◆ m_directories

std::vector<llvm::minidump::Directory> MinidumpFileBuilder::m_directories

Definition at line 86 of file MinidumpFileBuilder.h.

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