9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_THREADELFCORE_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_THREADELFCORE_H
17#include "llvm/ADT/DenseMap.h"
27class ProcessInstanceInfo;
68 static std::optional<ELFLinuxPrStatus>
80 "sizeof ELFLinuxPrStatus is not correct!");
84 std::vector<lldb_private::CoreNote>
notes;
116 static std::optional<ELFLinuxPrPsInfo>
119 static std::optional<ELFLinuxPrPsInfo>
132 "sizeof ELFLinuxPrPsInfo is not correct!");
162 llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>>
void RefreshStateAfterStop() override
lldb::RegisterContextSP GetRegisterContext() override
~ThreadElfCore() override
ThreadElfCore(lldb_private::Process &process, const ThreadData &td)
std::string m_thread_name
const char * GetName() override
lldb::RegisterContextSP CreateRegisterContextForFrame(lldb_private::StackFrame *frame) override
std::vector< lldb_private::CoreNote > m_notes
lldb::RegisterContextSP m_thread_reg_ctx_sp
llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > GetSiginfo(size_t max_size) const override
lldb_private::DataExtractor m_gpregset_data
bool CalculateStopInfo() override
Ask the thread subclass to set its stop info.
static bool ThreadIDIsValid(lldb::tid_t thread)
llvm::StringRef m_siginfo_bytes
void SetName(const char *name) override
An architecture specification class.
A plug-in interface definition class for debugging a process.
This base class provides an interface to stack frames.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP
StateType
Process and Thread States.
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP
lldb_private::Status Parse(const lldb_private::DataExtractor &data, const lldb_private::ArchSpec &arch)
static size_t GetSize(const lldb_private::ArchSpec &arch)
static std::optional< ELFLinuxPrPsInfo > Populate(const lldb::ProcessSP &process_sp)
static size_t GetSize(const lldb_private::ArchSpec &arch)
lldb_private::Status Parse(const lldb_private::DataExtractor &data, const lldb_private::ArchSpec &arch)
static std::optional< ELFLinuxPrStatus > Populate(const lldb::ThreadSP &thread_sp)
llvm::StringRef siginfo_bytes
lldb_private::DataExtractor gpregset
std::vector< lldb_private::CoreNote > notes