9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_THREADELFCORE_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_THREADELFCORE_H
15#include "llvm/ADT/DenseMap.h"
25class ProcessInstanceInfo;
66 static std::optional<ELFLinuxPrStatus>
78 "sizeof ELFLinuxPrStatus is not correct!");
122 "sizeof ELFLinuxSigInfo is not correct!");
148 static std::optional<ELFLinuxPrPsInfo>
151 static std::optional<ELFLinuxPrPsInfo>
164 "sizeof ELFLinuxPrPsInfo is not correct!");
168 std::vector<lldb_private::CoreNote>
notes;
void RefreshStateAfterStop() override
lldb::RegisterContextSP GetRegisterContext() override
~ThreadElfCore() override
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
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)
void CreateStopFromSigInfo(const ELFLinuxSigInfo &siginfo, const lldb_private::UnixSignals &unix_signals)
void SetName(const char *name) override
ELFLinuxSigInfo m_siginfo
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)
struct ELFLinuxSigInfo::alignas::@76::@77 _addr_bnd
union ELFLinuxSigInfo::alignas::@76 bounds
struct ELFLinuxSigInfo::alignas sigfault
static size_t GetSize(const lldb_private::ArchSpec &arch)
lldb_private::Status Parse(const lldb_private::DataExtractor &data, const lldb_private::ArchSpec &arch, const lldb_private::UnixSignals &unix_signals)
SigInfoNoteType note_type
std::string GetDescription(const lldb_private::UnixSignals &unix_signals) const
lldb_private::DataExtractor gpregset
std::vector< lldb_private::CoreNote > notes