LLDB mainline
|
#include <NativeThreadNetBSD.h>
Public Member Functions | |
NativeThreadNetBSD (NativeProcessNetBSD &process, lldb::tid_t tid) | |
std::string | GetName () override |
lldb::StateType | GetState () override |
bool | GetStopReason (ThreadStopInfo &stop_info, std::string &description) override |
NativeRegisterContextNetBSD & | 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 |
Public Member Functions inherited from lldb_private::NativeThreadProtocol | |
NativeThreadProtocol (NativeProcessProtocol &process, lldb::tid_t tid) | |
virtual | ~NativeThreadProtocol ()=default |
lldb::tid_t | GetID () const |
NativeProcessProtocol & | GetProcess () |
virtual llvm::Expected< std::unique_ptr< llvm::MemoryBuffer > > | GetSiginfo () const |
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 (NativeThreadNetBSD &source) |
Private Attributes | |
lldb::StateType | m_state |
ThreadStopInfo | m_stop_info |
std::unique_ptr< NativeRegisterContextNetBSD > | m_reg_context_up |
std::string | m_stop_description |
WatchpointIndexMap | m_watchpoint_index_map |
WatchpointIndexMap | m_hw_break_index_map |
Friends | |
class | NativeProcessNetBSD |
Additional Inherited Members | |
Protected Attributes inherited from lldb_private::NativeThreadProtocol | |
NativeProcessProtocol & | m_process |
lldb::tid_t | m_tid |
Definition at line 25 of file NativeThreadNetBSD.h.
|
private |
Definition at line 77 of file NativeThreadNetBSD.h.
NativeThreadNetBSD::NativeThreadNetBSD | ( | NativeProcessNetBSD & | process, |
lldb::tid_t | tid ) |
Definition at line 36 of file NativeThreadNetBSD.cpp.
References lldb::eStateInvalid, m_reg_context_up, m_state, m_stop_description, m_stop_info, NativeProcessNetBSD, and lldb_private::NativeThreadProtocol::NativeThreadProtocol().
Referenced by CopyWatchpointsFrom(), and NativeProcessNetBSD.
|
private |
Definition at line 320 of file NativeThreadNetBSD.cpp.
References lldb_private::process_netbsd::NativeRegisterContextNetBSD::CopyHardwareWatchpointsFrom(), GetRegisterContext(), m_hw_break_index_map, m_watchpoint_index_map, and NativeThreadNetBSD().
Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 181 of file NativeThreadNetBSD.cpp.
References error(), lldb_private::GetLog(), LLDB_LOG, lldb_private::NativeThreadProtocol::m_process, lldb_private::NativeThreadProtocol::m_tid, lldb_private::process_netbsd::NativeProcessNetBSD::PtraceWrapper(), and lldb_private::Thread.
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 257 of file NativeThreadNetBSD.cpp.
References m_reg_context_up.
Referenced by CopyWatchpointsFrom(), RemoveHardwareBreakpoint(), RemoveWatchpoint(), SetHardwareBreakpoint(), SetStoppedByWatchpoint(), and SetWatchpoint().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 225 of file NativeThreadNetBSD.cpp.
References m_state.
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 227 of file NativeThreadNetBSD.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 305 of file NativeThreadNetBSD.cpp.
References lldb_private::Status::FromErrorString(), GetRegisterContext(), m_hw_break_index_map, and lldb_private::Status.
Referenced by SetHardwareBreakpoint().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 278 of file NativeThreadNetBSD.cpp.
References lldb_private::Status::FromErrorString(), GetRegisterContext(), m_watchpoint_index_map, and lldb_private::Status.
Referenced by SetWatchpoint().
|
private |
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 289 of file NativeThreadNetBSD.cpp.
References error(), lldb::eStateStopped, lldb_private::Status::FromErrorString(), GetRegisterContext(), LLDB_INVALID_INDEX32, m_hw_break_index_map, m_state, RemoveHardwareBreakpoint(), lldb_private::NativeRegisterContext::SetHardwareBreakpoint(), and lldb_private::Status.
|
private |
Definition at line 171 of file NativeThreadNetBSD.cpp.
References lldb::eStateRunning, lldb::eStopReasonNone, m_state, and m_stop_info.
Referenced by Resume().
|
private |
Definition at line 176 of file NativeThreadNetBSD.cpp.
References lldb::eStateStepping, lldb::eStopReasonNone, m_state, and m_stop_info.
Referenced by SingleStep().
|
private |
Definition at line 165 of file NativeThreadNetBSD.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 98 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonBreakpoint, m_stop_info, SetStopped(), and SIGTRAP.
|
private |
Definition at line 110 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonExec, m_stop_info, SetStopped(), and SIGTRAP.
Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP().
|
private |
Definition at line 131 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonFork, m_stop_info, SetStopped(), and SIGTRAP.
Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone().
|
private |
Definition at line 75 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonSignal, GetCrashReasonString(), lldb_private::NativeThreadProtocol::GetID(), lldb_private::GetLog(), LLDB_LOG, m_stop_description, m_stop_info, SetStopped(), SIGBUS, SIGFPE, SIGILL, SIGSEGV, and lldb_private::Thread.
Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::Attach(), lldb_private::process_netbsd::NativeProcessNetBSD::Manager::Launch(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), and lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGSTOP().
|
private |
Definition at line 104 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonTrace, m_stop_info, SetStopped(), and SIGTRAP.
|
private |
Definition at line 141 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonVFork, m_stop_info, SetStopped(), and SIGTRAP.
Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone().
|
private |
Definition at line 151 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonVForkDone, m_stop_info, SetStopped(), and SIGTRAP.
|
private |
Definition at line 116 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonWatchpoint, GetRegisterContext(), lldb_private::NativeRegisterContext::GetWatchpointAddress(), lldb_private::NativeRegisterContext::GetWatchpointHitAddress(), LLDB_INVALID_INDEX32, lldbassert, m_stop_description, m_stop_info, SetStopped(), and SIGTRAP.
|
private |
Definition at line 158 of file NativeThreadNetBSD.cpp.
References lldb::eStopReasonNone, m_stop_info, and SetStopped().
Referenced by lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP().
|
overridevirtual |
Implements lldb_private::NativeThreadProtocol.
Definition at line 262 of file NativeThreadNetBSD.cpp.
References error(), lldb::eStateStopped, lldb_private::Status::FromErrorString(), GetRegisterContext(), LLDB_INVALID_INDEX32, m_state, m_watchpoint_index_map, RemoveWatchpoint(), lldb_private::NativeRegisterContext::SetHardwareWatchpoint(), and lldb_private::Status.
|
private |
|
private |
|
friend |
Definition at line 26 of file NativeThreadNetBSD.h.
References NativeProcessNetBSD, and NativeThreadNetBSD().
Referenced by NativeProcessNetBSD, and NativeThreadNetBSD().
|
private |
Definition at line 79 of file NativeThreadNetBSD.h.
Referenced by CopyWatchpointsFrom(), RemoveHardwareBreakpoint(), and SetHardwareBreakpoint().
|
private |
Definition at line 75 of file NativeThreadNetBSD.h.
Referenced by GetRegisterContext(), and NativeThreadNetBSD().
|
private |
Definition at line 73 of file NativeThreadNetBSD.h.
Referenced by GetState(), GetStopReason(), NativeThreadNetBSD(), SetHardwareBreakpoint(), SetRunning(), SetStepping(), SetStopped(), and SetWatchpoint().
|
private |
Definition at line 76 of file NativeThreadNetBSD.h.
Referenced by GetStopReason(), NativeThreadNetBSD(), SetStopped(), SetStoppedBySignal(), and SetStoppedByWatchpoint().
|
private |
Definition at line 74 of file NativeThreadNetBSD.h.
Referenced by GetStopReason(), NativeThreadNetBSD(), SetRunning(), SetStepping(), SetStoppedByBreakpoint(), SetStoppedByExec(), SetStoppedByFork(), SetStoppedBySignal(), SetStoppedByTrace(), SetStoppedByVFork(), SetStoppedByVForkDone(), SetStoppedByWatchpoint(), and SetStoppedWithNoReason().
|
private |
Definition at line 78 of file NativeThreadNetBSD.h.
Referenced by CopyWatchpointsFrom(), RemoveWatchpoint(), and SetWatchpoint().