LLDB
mainline
|
#include <NativeThreadFreeBSD.h>
Public Member Functions | |
NativeThreadFreeBSD (NativeProcessFreeBSD &process, lldb::tid_t tid) | |
std::string | GetName () override |
lldb::StateType | GetState () override |
bool | GetStopReason (ThreadStopInfo &stop_info, std::string &description) override |
NativeRegisterContextFreeBSD & | GetRegisterContext () override |
Status | SetWatchpoint (lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware) override |
Status | RemoveWatchpoint (lldb::addr_t addr) override |
Status | SetHardwareBreakpoint (lldb::addr_t addr, size_t size) override |
Status | RemoveHardwareBreakpoint (lldb::addr_t addr) override |
llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > | GetSiginfo () const override |
![]() | |
NativeThreadProtocol (NativeProcessProtocol &process, lldb::tid_t tid) | |
virtual | ~NativeThreadProtocol ()=default |
lldb::tid_t | GetID () const |
NativeProcessProtocol & | GetProcess () |
Private Types | |
using | WatchpointIndexMap = std::map< lldb::addr_t, uint32_t > |
Private Member Functions | |
Status | Resume () |
Status | SingleStep () |
Status | Suspend () |
void | SetStoppedBySignal (uint32_t signo, const siginfo_t *info=nullptr) |
void | SetStoppedByBreakpoint () |
void | SetStoppedByTrace () |
void | SetStoppedByExec () |
void | SetStoppedByWatchpoint (uint32_t wp_index) |
void | SetStoppedByFork (lldb::pid_t child_pid, lldb::tid_t child_tid) |
void | SetStoppedByVFork (lldb::pid_t child_pid, lldb::tid_t child_tid) |
void | SetStoppedByVForkDone () |
void | SetStoppedWithNoReason () |
void | SetStopped () |
void | SetRunning () |
void | SetStepping () |
llvm::Error | CopyWatchpointsFrom (NativeThreadFreeBSD &source) |
Friends | |
class | NativeProcessFreeBSD |
Additional Inherited Members | |
![]() | |
NativeProcessProtocol & | m_process |
lldb::tid_t | m_tid |
Definition at line 25 of file NativeThreadFreeBSD.h.
|
private |
Definition at line 80 of file NativeThreadFreeBSD.h.
NativeThreadFreeBSD::NativeThreadFreeBSD | ( | NativeProcessFreeBSD & | process, |
lldb::tid_t | tid | ||
) |
Definition at line 35 of file NativeThreadFreeBSD.cpp.
|
private |
Definition at line 307 of file NativeThreadFreeBSD.cpp.
References lldb_private::process_freebsd::NativeRegisterContextFreeBSD::CopyHardwareWatchpointsFrom(), GetRegisterContext(), m_hw_break_index_map, and m_watchpoint_index_map.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 180 of file NativeThreadFreeBSD.cpp.
References error(), lldb_private::NativeThreadProtocol::GetID(), lldb_private::NativeProcessProtocol::GetID(), lldb_private::GetLog(), lldb_private::NativeThreadProtocol::GetProcess(), LLDB_LOG, m_state, and lldb_private::Thread.
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 244 of file NativeThreadFreeBSD.cpp.
References m_reg_context_up.
Referenced by CopyWatchpointsFrom(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), RemoveHardwareBreakpoint(), RemoveWatchpoint(), SetHardwareBreakpoint(), SetStoppedByWatchpoint(), and SetWatchpoint().
|
overridevirtual |
Reimplemented from lldb_private::NativeThreadProtocol.
Definition at line 318 of file NativeThreadFreeBSD.cpp.
References lldb_private::NativeThreadProtocol::GetID(), lldb_private::GetLog(), LLDB_LOG, lldb_private::Process, and lldb_private::process_freebsd::NativeProcessFreeBSD::PtraceWrapper().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 212 of file NativeThreadFreeBSD.cpp.
References m_state.
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 214 of file NativeThreadFreeBSD.cpp.
References lldb::eStateAttaching, lldb::eStateConnected, lldb::eStateCrashed, lldb::eStateDetached, lldb::eStateExited, lldb::eStateInvalid, lldb::eStateLaunching, lldb::eStateRunning, lldb::eStateStepping, lldb::eStateStopped, lldb::eStateSuspended, lldb::eStateUnloaded, lldb_private::NativeThreadProtocol::GetID(), lldb_private::GetLog(), LLDB_LOG, m_state, m_stop_description, m_stop_info, lldb_private::StateAsCString(), and lldb_private::Thread.
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 292 of file NativeThreadFreeBSD.cpp.
References GetRegisterContext(), and m_hw_break_index_map.
Referenced by SetHardwareBreakpoint().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 265 of file NativeThreadFreeBSD.cpp.
References GetRegisterContext(), and m_watchpoint_index_map.
Referenced by SetWatchpoint().
|
private |
Definition at line 44 of file NativeThreadFreeBSD.cpp.
References lldb_private::Status::Clear(), lldb_private::Status::GetError(), lldb_private::NativeThreadProtocol::GetID(), lldb_private::process_freebsd::NativeProcessFreeBSD::PtraceWrapper(), SetRunning(), and lldb_private::Status::Success().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::Resume().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 276 of file NativeThreadFreeBSD.cpp.
References error(), lldb::eStateStopped, GetRegisterContext(), LLDB_INVALID_INDEX32, m_hw_break_index_map, m_state, RemoveHardwareBreakpoint(), and lldb_private::NativeRegisterContext::SetHardwareBreakpoint().
|
private |
Definition at line 170 of file NativeThreadFreeBSD.cpp.
References lldb::eStateRunning, lldb::eStopReasonNone, m_state, m_stop_info, and lldb_private::ThreadStopInfo::reason.
Referenced by Resume().
|
private |
Definition at line 175 of file NativeThreadFreeBSD.cpp.
References lldb::eStateStepping, lldb::eStopReasonNone, m_state, m_stop_info, and lldb_private::ThreadStopInfo::reason.
Referenced by SingleStep().
|
private |
Definition at line 164 of file NativeThreadFreeBSD.cpp.
References lldb::eStateStopped, m_state, and m_stop_description.
Referenced by SetStoppedByBreakpoint(), SetStoppedByExec(), SetStoppedByFork(), SetStoppedBySignal(), SetStoppedByTrace(), SetStoppedByVFork(), SetStoppedByVForkDone(), SetStoppedByWatchpoint(), SetStoppedWithNoReason(), and Suspend().
|
private |
Definition at line 100 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonBreakpoint, m_stop_info, lldb_private::ThreadStopInfo::reason, SetStopped(), lldb_private::ThreadStopInfo::signal, and SIGTRAP.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP().
|
private |
Definition at line 112 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonExec, m_stop_info, lldb_private::ThreadStopInfo::reason, SetStopped(), lldb_private::ThreadStopInfo::signal, and SIGTRAP.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP().
|
private |
Definition at line 133 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonFork, lldb_private::ThreadStopInfo::fork, m_stop_info, lldb_private::ThreadStopInfo::reason, and SetStopped().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone().
|
private |
Definition at line 76 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonSignal, GetCrashReason(), GetCrashReasonString(), lldb_private::NativeThreadProtocol::GetID(), lldb_private::GetLog(), LLDB_LOG, m_stop_description, m_stop_info, lldb_private::ThreadStopInfo::reason, SetStopped(), lldb_private::ThreadStopInfo::signal, and lldb_private::Thread.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::Attach(), lldb_private::process_freebsd::NativeProcessFreeBSD::Factory::Launch(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSignal(), and lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGSTOP().
|
private |
Definition at line 106 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonTrace, m_stop_info, lldb_private::ThreadStopInfo::reason, SetStopped(), lldb_private::ThreadStopInfo::signal, and SIGTRAP.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP().
|
private |
Definition at line 142 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonVFork, lldb_private::ThreadStopInfo::fork, m_stop_info, lldb_private::ThreadStopInfo::reason, and SetStopped().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone().
|
private |
Definition at line 151 of file NativeThreadFreeBSD.cpp.
References lldb::eStopReasonVForkDone, m_stop_info, lldb_private::ThreadStopInfo::reason, and SetStopped().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP().
|
private |
Definition at line 118 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonWatchpoint, GetRegisterContext(), lldb_private::NativeRegisterContext::GetWatchpointAddress(), lldb_private::NativeRegisterContext::GetWatchpointHitAddress(), LLDB_INVALID_INDEX32, lldbassert, m_stop_description, m_stop_info, lldb_private::ThreadStopInfo::reason, SetStopped(), lldb_private::ThreadStopInfo::signal, and SIGTRAP.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP().
|
private |
Definition at line 157 of file NativeThreadFreeBSD.cpp.
References lldb_private::ThreadStopInfo::details, lldb::eStopReasonNone, m_stop_info, lldb_private::ThreadStopInfo::reason, SetStopped(), and lldb_private::ThreadStopInfo::signal.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSignal().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 249 of file NativeThreadFreeBSD.cpp.
References error(), lldb::eStateStopped, GetRegisterContext(), LLDB_INVALID_INDEX32, m_state, m_watchpoint_index_map, RemoveWatchpoint(), and lldb_private::NativeRegisterContext::SetHardwareWatchpoint().
|
private |
Definition at line 59 of file NativeThreadFreeBSD.cpp.
References lldb_private::NativeThreadProtocol::GetID(), lldb_private::process_freebsd::NativeProcessFreeBSD::PtraceWrapper(), SetStepping(), and lldb_private::Status::Success().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::Resume().
|
private |
Definition at line 69 of file NativeThreadFreeBSD.cpp.
References lldb_private::NativeThreadProtocol::GetID(), lldb_private::process_freebsd::NativeProcessFreeBSD::PtraceWrapper(), SetStopped(), and lldb_private::Status::Success().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::Resume().
|
friend |
Definition at line 26 of file NativeThreadFreeBSD.h.
|
private |
Definition at line 82 of file NativeThreadFreeBSD.h.
Referenced by CopyWatchpointsFrom(), RemoveHardwareBreakpoint(), and SetHardwareBreakpoint().
|
private |
Definition at line 78 of file NativeThreadFreeBSD.h.
Referenced by GetRegisterContext().
|
private |
Definition at line 76 of file NativeThreadFreeBSD.h.
Referenced by GetName(), GetState(), GetStopReason(), SetHardwareBreakpoint(), SetRunning(), SetStepping(), SetStopped(), and SetWatchpoint().
|
private |
Definition at line 79 of file NativeThreadFreeBSD.h.
Referenced by GetStopReason(), SetStopped(), SetStoppedBySignal(), and SetStoppedByWatchpoint().
|
private |
Definition at line 77 of file NativeThreadFreeBSD.h.
Referenced by GetStopReason(), SetRunning(), SetStepping(), SetStoppedByBreakpoint(), SetStoppedByExec(), SetStoppedByFork(), SetStoppedBySignal(), SetStoppedByTrace(), SetStoppedByVFork(), SetStoppedByVForkDone(), SetStoppedByWatchpoint(), and SetStoppedWithNoReason().
|
private |
Definition at line 81 of file NativeThreadFreeBSD.h.
Referenced by CopyWatchpointsFrom(), RemoveWatchpoint(), and SetWatchpoint().