28 std::string thread_name)
29 :
Thread(process, tid), m_thread_name(std::move(thread_name)),
30 m_pcb_addr(pcb_addr) {}
45 uint32_t concrete_frame_idx = 0;
50 if (concrete_frame_idx == 0) {
59 case llvm::Triple::aarch64:
61 std::make_shared<RegisterContextFreeBSDKernel_arm64>(
62 *
this, std::make_unique<RegisterInfoPOSIX_arm64>(arch, 0),
65 case llvm::Triple::x86:
69 case llvm::Triple::x86_64:
71 std::make_shared<RegisterContextFreeBSDKernel_x86_64>(
75 assert(
false &&
"Unsupported architecture passed to ThreadFreeBSDKernel");
lldb::RegisterContextSP m_thread_reg_ctx_sp
lldb::RegisterContextSP CreateRegisterContextForFrame(lldb_private::StackFrame *frame) override
void RefreshStateAfterStop() override
lldb::RegisterContextSP GetRegisterContext() override
~ThreadFreeBSDKernel() override
bool CalculateStopInfo() override
Ask the thread subclass to set its stop info.
ThreadFreeBSDKernel(lldb_private::Process &process, lldb::tid_t tid, lldb::addr_t pcb_addr, std::string thread_name)
An architecture specification class.
llvm::Triple::ArchType GetMachine() const
Returns a machine family for the current architecture.
A plug-in interface definition class for debugging a process.
Target & GetTarget()
Get the target object pointer for this module.
This base class provides an interface to stack frames.
uint32_t GetConcreteFrameIndex() const
Query this frame to find what frame it is in this Thread's StackFrameList, not counting inlined frame...
const ArchSpec & GetArchitecture() const
virtual Unwind & GetUnwinder()
lldb::ProcessSP GetProcess() const
lldb::RegisterContextSP m_reg_context_sp
The register context for this thread's current register state.
lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP