LLDB mainline
|
#include <NativeProcessProtocol.h>
Classes | |
class | Manager |
class | NativeDelegate |
struct | SoftwareBreakpoint |
Public Types | |
enum class | Extension { multiprocess = (1u << 0) , fork = (1u << 1) , vfork = (1u << 2) , pass_signals = (1u << 3) , auxv = (1u << 4) , libraries_svr4 = (1u << 5) , memory_tagging = (1u << 6) , savecore = (1u << 7) , siginfo_read = (1u << 8) } |
Extension flag constants, returned by Manager::GetSupportedExtensions() and passed to SetEnabledExtension() More... | |
typedef std::vector< std::unique_ptr< NativeThreadProtocol > > | thread_collection |
typedef LockingAdaptedIterable< thread_collection, NativeThreadProtocol &, thread_list_adapter, std::recursive_mutex > | ThreadIterable |
Public Member Functions | |
virtual | ~NativeProcessProtocol ()=default |
virtual Status | Resume (const ResumeActionList &resume_actions)=0 |
virtual Status | Halt ()=0 |
virtual Status | Detach ()=0 |
virtual Status | Signal (int signo)=0 |
Sends a process a UNIX signal signal. | |
virtual Status | Interrupt () |
Tells a process to interrupt all operations as if by a Ctrl-C. | |
virtual Status | Kill ()=0 |
virtual Status | IgnoreSignals (llvm::ArrayRef< int > signals) |
virtual Status | GetMemoryRegionInfo (lldb::addr_t load_addr, MemoryRegionInfo &range_info) |
virtual Status | ReadMemory (lldb::addr_t addr, void *buf, size_t size, size_t &bytes_read)=0 |
Status | ReadMemoryWithoutTrap (lldb::addr_t addr, void *buf, size_t size, size_t &bytes_read) |
virtual Status | ReadMemoryTags (int32_t type, lldb::addr_t addr, size_t len, std::vector< uint8_t > &tags) |
virtual Status | WriteMemoryTags (int32_t type, lldb::addr_t addr, size_t len, const std::vector< uint8_t > &tags) |
llvm::Expected< llvm::StringRef > | ReadCStringFromMemory (lldb::addr_t addr, char *buffer, size_t max_size, size_t &total_bytes_read) |
Reads a null terminated string from memory. | |
virtual Status | WriteMemory (lldb::addr_t addr, const void *buf, size_t size, size_t &bytes_written)=0 |
virtual llvm::Expected< lldb::addr_t > | AllocateMemory (size_t size, uint32_t permissions) |
virtual llvm::Error | DeallocateMemory (lldb::addr_t addr) |
virtual lldb::addr_t | GetSharedLibraryInfoAddress ()=0 |
virtual llvm::Expected< std::vector< SVR4LibraryInfo > > | GetLoadedSVR4Libraries () |
virtual bool | IsAlive () const |
virtual size_t | UpdateThreads ()=0 |
virtual const ArchSpec & | GetArchitecture () const =0 |
virtual Status | SetBreakpoint (lldb::addr_t addr, uint32_t size, bool hardware)=0 |
virtual Status | RemoveBreakpoint (lldb::addr_t addr, bool hardware=false) |
virtual const HardwareBreakpointMap & | GetHardwareBreakpointMap () const |
virtual Status | SetHardwareBreakpoint (lldb::addr_t addr, size_t size) |
virtual Status | RemoveHardwareBreakpoint (lldb::addr_t addr) |
virtual const NativeWatchpointList::WatchpointMap & | GetWatchpointMap () const |
virtual std::optional< std::pair< uint32_t, uint32_t > > | GetHardwareDebugSupportInfo () const |
virtual Status | SetWatchpoint (lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware) |
virtual Status | RemoveWatchpoint (lldb::addr_t addr) |
lldb::pid_t | GetID () const |
lldb::StateType | GetState () const |
bool | IsRunning () const |
bool | IsStepping () const |
bool | CanResume () const |
lldb::ByteOrder | GetByteOrder () const |
uint32_t | GetAddressByteSize () const |
virtual llvm::ErrorOr< std::unique_ptr< llvm::MemoryBuffer > > | GetAuxvData () const =0 |
virtual std::optional< WaitStatus > | GetExitStatus () |
virtual bool | SetExitStatus (WaitStatus status, bool bNotifyStateChange) |
NativeThreadProtocol * | GetThreadAtIndex (uint32_t idx) |
NativeThreadProtocol * | GetThreadByID (lldb::tid_t tid) |
void | SetCurrentThreadID (lldb::tid_t tid) |
lldb::tid_t | GetCurrentThreadID () const |
NativeThreadProtocol * | GetCurrentThread () |
ThreadIterable | Threads () const |
virtual int | GetTerminalFileDescriptor () |
uint32_t | GetStopID () const |
virtual Status | GetLoadedModuleFileSpec (const char *module_path, FileSpec &file_spec)=0 |
virtual Status | GetFileLoadAddress (const llvm::StringRef &file_name, lldb::addr_t &load_addr)=0 |
virtual void | NotifyTracersProcessWillResume () |
Notify tracers that the target process will resume. | |
virtual void | NotifyTracersProcessDidStop () |
Notify tracers that the target process just stopped. | |
virtual llvm::Error | TraceStart (llvm::StringRef json_params, llvm::StringRef type) |
Start tracing a process or its threads. | |
virtual llvm::Error | TraceStop (const TraceStopRequest &request) |
Stop tracing a live process or its threads. | |
virtual llvm::Expected< llvm::json::Value > | TraceGetState (llvm::StringRef type) |
Get the current tracing state of the process and its threads. | |
virtual llvm::Expected< std::vector< uint8_t > > | TraceGetBinaryData (const TraceGetBinaryDataRequest &request) |
Get binary data given a trace technology and a data identifier. | |
virtual llvm::Expected< TraceSupportedResponse > | TraceSupported () |
Get the processor tracing type supported for this process. | |
virtual void | SetEnabledExtensions (Extension flags) |
Method called in order to propagate the bitmap of protocol extensions supported by the client. | |
virtual llvm::Expected< std::string > | SaveCore (llvm::StringRef path_hint) |
Write a core dump (without crashing the program). | |
Static Public Member Functions | |
template<typename I > | |
static NativeThreadProtocol & | thread_list_adapter (I &iter) |
Protected Member Functions | |
NativeProcessProtocol (lldb::pid_t pid, int terminal_fd, NativeDelegate &delegate) | |
void | SetID (lldb::pid_t pid) |
void | SetState (lldb::StateType state, bool notify_delegates=true) |
virtual void | DoStopIDBumped (uint32_t newBumpId) |
Status | SetSoftwareBreakpoint (lldb::addr_t addr, uint32_t size_hint) |
Status | RemoveSoftwareBreakpoint (lldb::addr_t addr) |
virtual llvm::Expected< llvm::ArrayRef< uint8_t > > | GetSoftwareBreakpointTrapOpcode (size_t size_hint) |
virtual size_t | GetSoftwareBreakpointPCOffset () |
Return the offset of the PC relative to the software breakpoint that was hit. | |
void | FixupBreakpointPCAsNeeded (NativeThreadProtocol &thread) |
virtual void | NotifyDidExec () |
Notify the delegate that an exec occurred. | |
NativeThreadProtocol * | GetThreadByIDUnlocked (lldb::tid_t tid) |
Protected Attributes | |
std::unordered_map< lldb::addr_t, SoftwareBreakpoint > | m_software_breakpoints |
lldb::pid_t | m_pid |
std::vector< std::unique_ptr< NativeThreadProtocol > > | m_threads |
lldb::tid_t | m_current_thread_id = LLDB_INVALID_THREAD_ID |
std::recursive_mutex | m_threads_mutex |
lldb::StateType | m_state = lldb::eStateInvalid |
std::recursive_mutex | m_state_mutex |
std::optional< WaitStatus > | m_exit_status |
NativeDelegate & | m_delegate |
NativeWatchpointList | m_watchpoint_list |
HardwareBreakpointMap | m_hw_breakpoints_map |
int | m_terminal_fd |
uint32_t | m_stop_id = 0 |
llvm::DenseSet< int > | m_signals_to_ignore |
Extension | m_enabled_extensions |
Private Member Functions | |
void | SynchronouslyNotifyProcessStateChanged (lldb::StateType state) |
llvm::Expected< SoftwareBreakpoint > | EnableSoftwareBreakpoint (lldb::addr_t addr, uint32_t size_hint) |
Definition at line 49 of file NativeProcessProtocol.h.
typedef std::vector<std::unique_ptr<NativeThreadProtocol> > lldb_private::NativeProcessProtocol::thread_collection |
Definition at line 53 of file NativeProcessProtocol.h.
typedef LockingAdaptedIterable<thread_collection, NativeThreadProtocol &, thread_list_adapter, std::recursive_mutex> lldb_private::NativeProcessProtocol::ThreadIterable |
Definition at line 61 of file NativeProcessProtocol.h.
|
strong |
Extension flag constants, returned by Manager::GetSupportedExtensions() and passed to SetEnabledExtension()
Enumerator | |
---|---|
multiprocess | |
fork | |
vfork | |
pass_signals | |
auxv | |
libraries_svr4 | |
memory_tagging | |
savecore | |
siginfo_read |
Definition at line 261 of file NativeProcessProtocol.h.
|
virtualdefault |
|
protected |
Definition at line 28 of file NativeProcessProtocol.cpp.
References lldb_private::NativeProcessProtocol::NativeDelegate::InitializeDelegate().
|
inlinevirtual |
Reimplemented in lldb_private::process_linux::NativeProcessLinux, and lldb_private::NativeProcessWindows.
Definition at line 136 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle__M().
|
inline |
Definition at line 194 of file NativeProcessProtocol.h.
References lldb::eStateStopped, and m_state.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ResumeProcess().
|
inlinevirtual |
Reimplemented in lldb_private::process_linux::NativeProcessLinux, and lldb_private::NativeProcessWindows.
Definition at line 141 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle__m().
|
pure virtual |
|
protectedvirtual |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 762 of file NativeProcessProtocol.cpp.
Referenced by SetState().
|
private |
Definition at line 423 of file NativeProcessProtocol.cpp.
References lldb_private::Breakpoints, error(), lldb_private::GetLog(), GetSoftwareBreakpointTrapOpcode(), LLDB_LOG, and ReadMemory().
Referenced by SetSoftwareBreakpoint().
|
protected |
Definition at line 591 of file NativeProcessProtocol.cpp.
References lldb_private::Breakpoints, error(), GetID(), lldb_private::NativeThreadProtocol::GetID(), lldb_private::GetLog(), lldb_private::NativeRegisterContext::GetPCfromBreakpointLocation(), lldb_private::NativeThreadProtocol::GetRegisterContext(), GetSoftwareBreakpointPCOffset(), LLDB_LOG, m_software_breakpoints, and lldb_private::NativeRegisterContext::SetPC().
Referenced by lldb_private::process_linux::NativeProcessLinux::MonitorBreakpoint(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), and lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP().
|
inline |
Definition at line 200 of file NativeProcessProtocol.h.
References lldb_private::ArchSpec::GetAddressByteSize(), and GetArchitecture().
Referenced by lldb_private::NativeProcessELF::GetAuxValue(), lldb_private::NativeProcessELF::GetLoadedSVR4Libraries(), and lldb_private::NativeProcessELF::GetSharedLibraryInfoAddress().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::BuildTargetXml(), lldb_private::NativeThreadWindows::DoResume(), GetAddressByteSize(), GetByteOrder(), GetSoftwareBreakpointPCOffset(), GetSoftwareBreakpointTrapOpcode(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_P(), and lldb_private::NativeProcessSoftwareSingleStep::SetupSoftwareSingleStepping().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::NativeProcessELF::GetAuxValue(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ReadXferObject().
|
inline |
Definition at line 196 of file NativeProcessProtocol.h.
References GetArchitecture(), and lldb_private::ArchSpec::GetByteOrder().
Referenced by lldb_private::NativeProcessELF::GetAuxValue(), lldb_private::process_linux::NativeRegisterContextLinux::GetByteOrder(), lldb_private::NativeRegisterContext::ReadRegisterValueFromMemory(), and lldb_private::NativeRegisterContext::WriteRegisterValueToMemory().
|
inline |
Definition at line 221 of file NativeProcessProtocol.h.
References GetThreadByID(), and m_current_thread_id.
Referenced by lldb_private::process_linux::NativeProcessLinux::GetCurrentThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qC(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_stop_reason(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ReadXferObject().
|
inline |
Definition at line 219 of file NativeProcessProtocol.h.
References m_current_thread_id.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::GetCurrentThreadID(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qC(), lldb_private::process_linux::NativeProcessLinux::PopulateMemoryRegionCache(), lldb_private::process_linux::NativeProcessLinux::ReadMemory(), lldb_private::process_linux::NativeProcessLinux::ReadMemoryTags(), lldb_private::process_freebsd::NativeProcessFreeBSD::RemoveThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SendStopReasonForState(), lldb_private::process_linux::NativeProcessLinux::WriteMemory(), and lldb_private::process_linux::NativeProcessLinux::WriteMemoryTags().
|
virtual |
Definition at line 70 of file NativeProcessProtocol.cpp.
References lldb::eStateExited, m_exit_status, and m_state.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SendWResponse().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qFileLoadAddress().
|
virtual |
Definition at line 232 of file NativeProcessProtocol.cpp.
References m_hw_breakpoints_map.
Referenced by lldb_private::process_linux::NativeThreadLinux::Resume().
|
virtual |
Definition at line 132 of file NativeProcessProtocol.cpp.
References lldb_private::GetLog(), lldb_private::NativeThreadProtocol::GetRegisterContext(), GetThreadAtIndex(), LLDB_LOG, lldb_private::NativeRegisterContext::NumSupportedHardwareBreakpoints(), lldb_private::NativeRegisterContext::NumSupportedHardwareWatchpoints(), and lldb_private::Process.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qWatchpointSupportInfo(), and SetHardwareBreakpoint().
|
inline |
Definition at line 184 of file NativeProcessProtocol.h.
References m_pid.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AddProcessThreads(), lldb_private::process_freebsd::NativeProcessFreeBSD::AddThread(), lldb_private::process_netbsd::NativeProcessNetBSD::AddThread(), lldb_private::process_linux::NativeProcessLinux::AddThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AttachToProcess(), lldb_private::NativeProcessWindows::CacheLoadedModules(), lldb_private::process_freebsd::NativeProcessFreeBSD::Detach(), lldb_private::process_linux::NativeProcessLinux::Detach(), lldb_private::process_netbsd::NativeProcessNetBSD::Detach(), lldb_private::NativeProcessWindows::Detach(), FixupBreakpointPCAsNeeded(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetAuxvData(), lldb_private::process_linux::NativeProcessLinux::GetAuxvData(), lldb_private::process_netbsd::NativeProcessNetBSD::GetAuxvData(), lldb_private::NativeProcessWindows::GetFileLoadAddress(), GetJSONThreadsInfo(), lldb_private::process_linux::NativeProcessLinux::GetLoadedModuleFileSpec(), lldb_private::NativeProcessWindows::GetLoadedModuleFileSpec(), lldb_private::process_freebsd::NativeThreadFreeBSD::GetName(), lldb_private::process_linux::NativeThreadLinux::GetName(), lldb_private::process_netbsd::NativeThreadNetBSD::GetName(), lldb_private::NativeThreadWindows::GetName(), lldb_private::process_freebsd::NativeRegisterContextFreeBSD::GetProcessPid(), lldb_private::process_netbsd::NativeRegisterContextNetBSD::GetProcessPid(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::GetThreadFromSuffix(), lldb_private::process_freebsd::NativeProcessFreeBSD::Halt(), lldb_private::process_linux::NativeProcessLinux::Halt(), lldb_private::process_netbsd::NativeProcessNetBSD::Halt(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle__M(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle__m(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_H(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_I(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_interrupt(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceGetBinaryData(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceGetState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceStart(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceStop(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceSupported(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jThreadsInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_M(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_memory_read(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qC(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qFileLoadAddress(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfoSupported(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemTags(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QMemTags(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qProcessInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qRegisterInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QRestoreRegisterState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qSaveCore(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSaveRegisterState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qThreadStopInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qWatchpointSupportInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_s(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_T(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vCont(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::HandleInferiorState_Exited(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::HandleInferiorState_Stopped(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::InitializeDelegate(), lldb_private::process_linux::NativeProcessLinux::Interrupt(), lldb_private::process_netbsd::NativeProcessNetBSD::Interrupt(), lldb_private::process_freebsd::NativeProcessFreeBSD::Kill(), lldb_private::process_linux::NativeProcessLinux::Kill(), lldb_private::process_netbsd::NativeProcessNetBSD::Kill(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess(), lldb_private::process_linux::NativeThreadLinux::MaybeLogStateChange(), lldb_private::process_linux::NativeProcessLinux::MonitorCallback(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorSignal(), lldb_private::process_linux::NativeProcessLinux::MonitorSIGTRAP(), NotifyDidExec(), lldb_private::NativeProcessWindows::OnDebuggerConnected(), lldb_private::NativeProcessWindows::OnExitProcess(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), lldb_private::process_linux::NativeProcessLinux::PopulateMemoryRegionCache(), lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::PrepareStopReplyPacketForThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ProcessStateChanged(), lldb_private::process_freebsd::NativeProcessFreeBSD::ReadMemory(), lldb_private::process_netbsd::NativeProcessNetBSD::ReadMemory(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ReadXferObject(), lldb_private::process_freebsd::NativeProcessFreeBSD::ReinitializeThreads(), lldb_private::process_netbsd::NativeProcessNetBSD::ReinitializeThreads(), lldb_private::process_freebsd::NativeProcessFreeBSD::RemoveThread(), lldb_private::process_netbsd::NativeProcessNetBSD::RemoveThread(), lldb_private::process_linux::NativeThreadLinux::RequestStop(), lldb_private::process_netbsd::NativeThreadNetBSD::Resume(), lldb_private::process_freebsd::NativeProcessFreeBSD::Resume(), lldb_private::process_linux::NativeProcessLinux::Resume(), lldb_private::process_netbsd::NativeProcessNetBSD::Resume(), lldb_private::NativeProcessWindows::Resume(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ResumeProcess(), lldb_private::process_freebsd::NativeProcessFreeBSD::SaveCore(), lldb_private::process_netbsd::NativeProcessNetBSD::SaveCore(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SendStopReasonForState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SendWResponse(), SetHardwareBreakpoint(), lldb_private::process_freebsd::NativeProcessFreeBSD::SetupTrace(), lldb_private::process_netbsd::NativeProcessNetBSD::SetupTrace(), SetWatchpoint(), lldb_private::process_freebsd::NativeProcessFreeBSD::SigchldHandler(), lldb_private::process_netbsd::NativeProcessNetBSD::SigchldHandler(), lldb_private::process_freebsd::NativeProcessFreeBSD::Signal(), lldb_private::process_linux::NativeProcessLinux::Signal(), lldb_private::process_netbsd::NativeProcessNetBSD::Signal(), lldb_private::process_netbsd::NativeThreadNetBSD::SingleStep(), lldb_private::process_netbsd::NativeThreadNetBSD::Suspend(), SynchronouslyNotifyProcessStateChanged(), lldb_private::process_linux::IntelPTCollector::TraceStart(), lldb_private::process_linux::NativeProcessLinux::TryHandleWaitStatus(), lldb_private::process_freebsd::NativeProcessFreeBSD::WriteMemory(), and lldb_private::process_netbsd::NativeProcessNetBSD::WriteMemory().
|
inlinevirtual |
Reimplemented in lldb_private::NativeProcessELF.
Definition at line 148 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ReadXferObject().
|
virtual |
Reimplemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Definition at line 51 of file NativeProcessProtocol.cpp.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfoSupported().
|
pure virtual |
|
protectedvirtual |
Return the offset of the PC relative to the software breakpoint that was hit.
If an architecture (e.g. arm) reports breakpoint hits before incrementing the PC, this offset will be 0. If an architecture (e.g. intel) reports breakpoints hits after incrementing the PC, this offset will be the size of the breakpoint opcode.
Reimplemented in lldb_private::NativeProcessWindows.
Definition at line 561 of file NativeProcessProtocol.cpp.
References GetArchitecture(), and GetSoftwareBreakpointTrapOpcode().
Referenced by FixupBreakpointPCAsNeeded().
|
protectedvirtual |
Reimplemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, and lldb_private::NativeProcessWindows.
Definition at line 501 of file NativeProcessProtocol.cpp.
References GetArchitecture().
Referenced by EnableSoftwareBreakpoint(), GetSoftwareBreakpointPCOffset(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetSoftwareBreakpointTrapOpcode(), lldb_private::process_linux::NativeProcessLinux::GetSoftwareBreakpointTrapOpcode(), and lldb_private::NativeProcessWindows::GetSoftwareBreakpointTrapOpcode().
lldb::StateType NativeProcessProtocol::GetState | ( | ) | const |
Definition at line 728 of file NativeProcessProtocol.cpp.
References m_state, and m_state_mutex.
Referenced by lldb_private::NativeProcessWindows::Detach(), lldb_private::NativeProcessWindows::Halt(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_stop_reason(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vAttach(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vAttachOrWait(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vAttachWait(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_vRun(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::InitializeDelegate(), lldb_private::NativeProcessWindows::IsAlive(), lldb_private::NativeProcessWindows::Kill(), lldb_private::process_linux::NativeProcessLinux::MonitorCallback(), lldb_private::NativeProcessWindows::Resume(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ResumeProcess().
uint32_t NativeProcessProtocol::GetStopID | ( | ) | const |
Definition at line 757 of file NativeProcessProtocol.cpp.
References m_state_mutex, and m_stop_id.
|
inlinevirtual |
Definition at line 230 of file NativeProcessProtocol.h.
References m_terminal_fd.
NativeThreadProtocol * NativeProcessProtocol::GetThreadAtIndex | ( | uint32_t | idx | ) |
Definition at line 100 of file NativeProcessProtocol.cpp.
References m_threads, and m_threads_mutex.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::BuildTargetXml(), GetHardwareDebugSupportInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::GetThreadFromSuffix(), and lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qRegisterInfo().
NativeThreadProtocol * NativeProcessProtocol::GetThreadByID | ( | lldb::tid_t | tid | ) |
Definition at line 116 of file NativeProcessProtocol.cpp.
References GetThreadByIDUnlocked(), and m_threads_mutex.
Referenced by GetCurrentThread(), lldb_private::process_linux::NativeProcessLinux::GetThreadByID(), lldb_private::NativeProcessWindows::GetThreadByID(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::GetThreadFromSuffix(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_s(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SendStopReplyPacketForThread(), and lldb_private::process_linux::IntelPTMultiCoreTrace::TracesThread().
|
protected |
Definition at line 108 of file NativeProcessProtocol.cpp.
References m_threads.
Referenced by GetThreadByID().
|
virtual |
Definition at line 127 of file NativeProcessProtocol.cpp.
References lldb_private::NativeWatchpointList::GetWatchpointMap(), and m_watchpoint_list.
Referenced by lldb_private::NativeProcessWindows::OnCreateThread(), and lldb_private::process_linux::NativeThreadLinux::Resume().
|
pure virtual |
|
virtual |
Reimplemented in lldb_private::NativeProcessWindows.
Definition at line 44 of file NativeProcessProtocol.cpp.
References m_signals_to_ignore.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QPassSignals().
|
virtual |
Tells a process to interrupt all operations as if by a Ctrl-C.
The default implementation will send a local host's equivalent of a SIGSTOP to the process via the NativeProcessProtocol::Signal() operation.
Reimplemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Definition at line 34 of file NativeProcessProtocol.cpp.
References error(), Signal(), and SIGSTOP.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_interrupt().
|
virtual |
Reimplemented in lldb_private::NativeProcessWindows.
Definition at line 121 of file NativeProcessProtocol.cpp.
References lldb::eStateDetached, lldb::eStateExited, lldb::eStateInvalid, lldb::eStateUnloaded, and m_state.
|
inline |
Definition at line 188 of file NativeProcessProtocol.h.
References lldb::eStateRunning, IsStepping(), and m_state.
|
inline |
Definition at line 192 of file NativeProcessProtocol.h.
References lldb::eStateStepping, and m_state.
Referenced by IsRunning().
|
pure virtual |
|
protectedvirtual |
Notify the delegate that an exec occurred.
Provide a mechanism for a delegate to clear out any exec- sensitive data.
Reimplemented in lldb_private::NativeProcessELF.
Definition at line 331 of file NativeProcessProtocol.cpp.
References lldb_private::NativeProcessProtocol::NativeDelegate::DidExec(), GetID(), lldb_private::GetLog(), LLDB_LOG, m_delegate, m_software_breakpoints, and lldb_private::Process.
Referenced by lldb_private::NativeProcessELF::NotifyDidExec().
|
inlinevirtual |
Notify tracers that the target process just stopped.
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 340 of file NativeProcessProtocol.h.
Referenced by SynchronouslyNotifyProcessStateChanged().
|
inlinevirtual |
Notify tracers that the target process will resume.
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 337 of file NativeProcessProtocol.h.
llvm::Expected< llvm::StringRef > NativeProcessProtocol::ReadCStringFromMemory | ( | lldb::addr_t | addr, |
char * | buffer, | ||
size_t | max_size, | ||
size_t & | total_bytes_read | ||
) |
Reads a null terminated string from memory.
Reads up to max_size
bytes of memory until it finds a '\0'. If a '\0' is not found then it reads max_size-1 bytes as a string and a '\0' is added as the last character of the buffer
.
[in] | addr | The address in memory to read from. |
[in] | buffer | An allocated buffer with at least max_size size. |
[in] | max_size | The maximum number of bytes to read from memory until it reads the string. |
[out] | total_bytes_read | The number of bytes read from memory into buffer . |
buffer
passed in. Definition at line 677 of file NativeProcessProtocol.cpp.
References lldb_private::Status::Clear(), ReadMemory(), lldb_private::Status::Success(), and lldb_private::Status::ToError().
Referenced by lldb_private::NativeProcessELF::ReadSVR4LibraryInfo().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by EnableSoftwareBreakpoint(), lldb_private::NativeProcessELF::GetELFImageInfoAddress(), lldb_private::NativeProcessELF::GetLoadedSVR4Libraries(), ReadCStringFromMemory(), ReadMemoryWithoutTrap(), lldb_private::NativeRegisterContext::ReadRegisterValueFromMemory(), lldb_private::NativeProcessELF::ReadSVR4LibraryInfo(), and RemoveSoftwareBreakpoint().
|
virtual |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 58 of file NativeProcessProtocol.cpp.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemTags().
Status NativeProcessProtocol::ReadMemoryWithoutTrap | ( | lldb::addr_t | addr, |
void * | buf, | ||
size_t | size, | ||
size_t & | bytes_read | ||
) |
Definition at line 649 of file NativeProcessProtocol.cpp.
References error(), m_software_breakpoints, and ReadMemory().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_memory_read().
|
virtual |
Reimplemented in lldb_private::process_linux::NativeProcessLinux, and lldb_private::NativeProcessWindows.
Definition at line 641 of file NativeProcessProtocol.cpp.
References RemoveHardwareBreakpoint(), and RemoveSoftwareBreakpoint().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), and lldb_private::process_linux::NativeProcessLinux::RemoveBreakpoint().
|
virtual |
Definition at line 293 of file NativeProcessProtocol.cpp.
References error(), m_hw_breakpoints_map, m_threads, m_threads_mutex, and UpdateThreads().
Referenced by RemoveBreakpoint(), lldb_private::process_linux::NativeProcessLinux::RemoveBreakpoint(), and lldb_private::NativeProcessWindows::RemoveBreakpoint().
|
protected |
Definition at line 358 of file NativeProcessProtocol.cpp.
References lldb_private::Breakpoints, error(), lldb_private::GetLog(), LLDB_LOG, m_software_breakpoints, ReadMemory(), and WriteMemory().
Referenced by RemoveBreakpoint(), and lldb_private::NativeProcessWindows::RemoveBreakpoint().
|
virtual |
Definition at line 208 of file NativeProcessProtocol.cpp.
References error(), lldb_private::Status::Fail(), m_threads, m_threads_mutex, m_watchpoint_list, lldb_private::NativeWatchpointList::Remove(), and UpdateThreads().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_z().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::ResumeProcess().
|
inlinevirtual |
Write a core dump (without crashing the program).
[in] | path_hint | Suggested core dump path (optional, can be empty). |
Reimplemented in lldb_private::process_freebsd::NativeProcessFreeBSD, and lldb_private::process_netbsd::NativeProcessNetBSD.
Definition at line 411 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qSaveCore().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z(), and SetSoftwareBreakpointOnPC().
|
inline |
Definition at line 217 of file NativeProcessProtocol.h.
References m_current_thread_id.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::AddThread(), lldb_private::process_netbsd::NativeProcessNetBSD::AddThread(), lldb_private::process_linux::NativeProcessLinux::AddThread(), lldb_private::process_freebsd::NativeProcessFreeBSD::Attach(), lldb_private::process_netbsd::NativeProcessNetBSD::Attach(), lldb_private::process_linux::NativeProcessLinux::MonitorSignal(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSignal(), lldb_private::process_linux::NativeProcessLinux::MonitorSIGTRAP(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), lldb_private::process_linux::NativeProcessLinux::NativeProcessLinux(), lldb_private::process_freebsd::NativeProcessFreeBSD::RemoveThread(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SetCurrentThreadID(), lldb_private::NativeProcessWindows::SetStopReasonForThread(), and lldb_private::process_linux::NativeProcessLinux::SignalIfAllThreadsStopped().
|
inlinevirtual |
Method called in order to propagate the bitmap of protocol extensions supported by the client.
[in] | flags | The bitmap of enabled extensions. |
Definition at line 399 of file NativeProcessProtocol.h.
References m_enabled_extensions.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::SetEnabledExtensions().
|
virtual |
Definition at line 77 of file NativeProcessProtocol.cpp.
References lldb::eStateExited, lldb_private::GetLog(), LLDB_LOG, m_exit_status, m_state, lldb_private::Process, and SynchronouslyNotifyProcessStateChanged().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorExited(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorExited(), lldb_private::NativeProcessWindows::OnExitProcess(), and lldb_private::process_linux::NativeProcessLinux::TryHandleWaitStatus().
|
virtual |
Definition at line 236 of file NativeProcessProtocol.cpp.
References lldb_private::Status::Fail(), GetHardwareDebugSupportInfo(), GetID(), lldb_private::GetLog(), LLDB_LOG, m_hw_breakpoints_map, m_threads, m_threads_mutex, lldb_private::Process, lldb_private::Status::Success(), and UpdateThreads().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::SetBreakpoint(), lldb_private::process_linux::NativeProcessLinux::SetBreakpoint(), and lldb_private::NativeProcessWindows::SetBreakpoint().
|
inlineprotected |
Definition at line 455 of file NativeProcessProtocol.h.
References m_pid.
Referenced by lldb_private::NativeProcessWindows::NativeProcessWindows(), and lldb_private::NativeProcessWindows::OnDebuggerConnected().
|
protected |
Definition at line 340 of file NativeProcessProtocol.cpp.
References lldb_private::Breakpoints, EnableSoftwareBreakpoint(), lldb_private::GetLog(), LLDB_LOG, and m_software_breakpoints.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::SetBreakpoint(), lldb_private::process_linux::NativeProcessLinux::SetBreakpoint(), lldb_private::process_netbsd::NativeProcessNetBSD::SetBreakpoint(), and lldb_private::NativeProcessWindows::SetBreakpoint().
|
protected |
Definition at line 733 of file NativeProcessProtocol.cpp.
References DoStopIDBumped(), m_state, m_state_mutex, m_stop_id, lldb_private::StateIsStoppedState(), and SynchronouslyNotifyProcessStateChanged().
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::Attach(), lldb_private::process_netbsd::NativeProcessNetBSD::Attach(), lldb_private::NativeProcessWindows::Detach(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorExited(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorExited(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSignal(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSignal(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGSTOP(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGSTOP(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP(), lldb_private::process_linux::NativeProcessLinux::NativeProcessLinux(), lldb_private::NativeProcessWindows::OnDebugException(), lldb_private::NativeProcessWindows::OnExitProcess(), lldb_private::process_freebsd::NativeProcessFreeBSD::Resume(), lldb_private::process_netbsd::NativeProcessNetBSD::Resume(), lldb_private::NativeProcessWindows::Resume(), lldb_private::process_linux::NativeProcessLinux::ResumeThread(), and lldb_private::process_linux::NativeProcessLinux::SignalIfAllThreadsStopped().
|
virtual |
Definition at line 148 of file NativeProcessProtocol.cpp.
References lldb_private::NativeWatchpointList::Add(), lldb_private::Status::Fail(), GetID(), lldb_private::GetLog(), LLDB_LOG, m_threads, m_threads_mutex, m_watchpoint_list, lldb_private::Process, lldb_private::Status::Success(), and UpdateThreads().
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_Z().
|
pure virtual |
Sends a process a UNIX signal signal.
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_C(), and Interrupt().
|
private |
Definition at line 311 of file NativeProcessProtocol.cpp.
References lldb::eStateCrashed, lldb::eStateExited, lldb::eStateStopped, GetID(), lldb_private::GetLog(), LLDB_LOG, m_delegate, NotifyTracersProcessDidStop(), lldb_private::Process, and lldb_private::NativeProcessProtocol::NativeDelegate::ProcessStateChanged().
Referenced by SetExitStatus(), and SetState().
|
inlinestatic |
Definition at line 55 of file NativeProcessProtocol.h.
|
inline |
Definition at line 225 of file NativeProcessProtocol.h.
References m_threads, and m_threads_mutex.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AddProcessThreads(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::EnqueueStopReplyPackets(), GetJSONThreadsInfo(), lldb_private::process_linux::IntelPTMultiCoreTrace::GetState(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::PrepareStopReplyPacketForThread(), and lldb_private::process_linux::IntelPTCollector::TraceStart().
|
inlinevirtual |
Get binary data given a trace technology and a data identifier.
[in] | request | Object with the params of the requested data. |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 382 of file NativeProcessProtocol.h.
References lldb_private::TraceGetBinaryDataRequest::kind, and lldb_private::TraceGetBinaryDataRequest::type.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceGetBinaryData(), and lldb_private::process_linux::NativeProcessLinux::TraceGetBinaryData().
|
inlinevirtual |
Get the current tracing state of the process and its threads.
[in] | type | Tracing technology type to consider. |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 374 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceGetState(), and lldb_private::process_linux::NativeProcessLinux::TraceGetState().
|
inlinevirtual |
Start tracing a process or its threads.
[in] | json_params | JSON object with the information of what and how to trace. In the case of gdb-remote, this object should conform to the jLLDBTraceStart packet. |
This object should have a string entry called "type", which is the tracing technology name.
[in] | type | Tracing technology type, as described in the json_params. |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 358 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceStart(), and lldb_private::process_linux::NativeProcessLinux::TraceStart().
|
inlinevirtual |
Stop tracing a live process or its threads.
[in] | request | The information determining which threads or process to stop tracing. |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 366 of file NativeProcessProtocol.h.
References lldb_private::TraceStopRequest::type.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceStop(), and lldb_private::process_linux::NativeProcessLinux::TraceStop().
|
inlinevirtual |
Get the processor tracing type supported for this process.
Responses might be different depending on the architecture and capabilities of the underlying OS.
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 390 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_jLLDBTraceSupported(), and lldb_private::process_linux::NativeProcessLinux::TraceSupported().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by RemoveHardwareBreakpoint(), RemoveWatchpoint(), SetHardwareBreakpoint(), and SetWatchpoint().
|
pure virtual |
Implemented in lldb_private::process_freebsd::NativeProcessFreeBSD, lldb_private::process_linux::NativeProcessLinux, lldb_private::process_netbsd::NativeProcessNetBSD, and lldb_private::NativeProcessWindows.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_M(), RemoveSoftwareBreakpoint(), and lldb_private::NativeRegisterContext::WriteRegisterValueToMemory().
|
virtual |
Reimplemented in lldb_private::process_linux::NativeProcessLinux.
Definition at line 64 of file NativeProcessProtocol.cpp.
Referenced by lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QMemTags().
|
protected |
Definition at line 427 of file NativeProcessProtocol.h.
Referenced by GetCurrentThread(), GetCurrentThreadID(), and SetCurrentThreadID().
|
protected |
Definition at line 435 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorClone(), NotifyDidExec(), and SynchronouslyNotifyProcessStateChanged().
|
protected |
Definition at line 446 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorSIGTRAP(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP(), and SetEnabledExtensions().
|
protected |
Definition at line 433 of file NativeProcessProtocol.h.
Referenced by GetExitStatus(), and SetExitStatus().
|
protected |
Definition at line 437 of file NativeProcessProtocol.h.
Referenced by GetHardwareBreakpointMap(), RemoveHardwareBreakpoint(), and SetHardwareBreakpoint().
|
protected |
Definition at line 424 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::Attach(), lldb_private::process_netbsd::NativeProcessNetBSD::Attach(), GetID(), lldb_private::process_freebsd::NativeProcessFreeBSD::Kill(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), and SetID().
|
protected |
Definition at line 443 of file NativeProcessProtocol.h.
Referenced by IgnoreSignals(), and lldb_private::process_linux::NativeProcessLinux::MonitorSignal().
|
protected |
Definition at line 423 of file NativeProcessProtocol.h.
Referenced by lldb_private::NativeProcessWindows::FindSoftwareBreakpoint(), FixupBreakpointPCAsNeeded(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorClone(), NotifyDidExec(), ReadMemoryWithoutTrap(), RemoveSoftwareBreakpoint(), and SetSoftwareBreakpoint().
|
protected |
Definition at line 430 of file NativeProcessProtocol.h.
Referenced by CanResume(), GetExitStatus(), GetState(), lldb_private::process_freebsd::NativeProcessFreeBSD::Halt(), IsAlive(), IsRunning(), IsStepping(), lldb_private::process_freebsd::NativeProcessFreeBSD::Kill(), lldb_private::process_linux::NativeProcessLinux::Kill(), lldb_private::process_netbsd::NativeProcessNetBSD::Kill(), SetExitStatus(), and SetState().
|
mutableprotected |
Definition at line 431 of file NativeProcessProtocol.h.
Referenced by GetState(), GetStopID(), and SetState().
|
protected |
Definition at line 439 of file NativeProcessProtocol.h.
Referenced by GetStopID(), and SetState().
|
protected |
Definition at line 438 of file NativeProcessProtocol.h.
Referenced by GetTerminalFileDescriptor(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorClone(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorClone(), lldb_private::process_linux::NativeProcessLinux::MonitorClone(), lldb_private::process_freebsd::NativeProcessFreeBSD::NativeProcessFreeBSD(), lldb_private::process_linux::NativeProcessLinux::NativeProcessLinux(), and lldb_private::process_netbsd::NativeProcessNetBSD::NativeProcessNetBSD().
|
protected |
Definition at line 426 of file NativeProcessProtocol.h.
Referenced by lldb_private::process_freebsd::NativeProcessFreeBSD::AddThread(), lldb_private::process_netbsd::NativeProcessNetBSD::AddThread(), lldb_private::process_linux::NativeProcessLinux::AddThread(), lldb_private::process_freebsd::NativeProcessFreeBSD::Attach(), lldb_private::process_netbsd::NativeProcessNetBSD::Attach(), lldb_private::process_linux::NativeProcessLinux::Detach(), GetThreadAtIndex(), GetThreadByIDUnlocked(), lldb_private::process_freebsd::NativeProcessFreeBSD::HasThreadNoLock(), lldb_private::process_linux::NativeProcessLinux::HasThreadNoLock(), lldb_private::process_netbsd::NativeProcessNetBSD::HasThreadNoLock(), lldb_private::process_linux::NativeProcessLinux::Interrupt(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorExited(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorExited(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSignal(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSignal(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGSTOP(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGSTOP(), lldb_private::process_linux::NativeProcessLinux::MonitorSIGTRAP(), lldb_private::process_freebsd::NativeProcessFreeBSD::MonitorSIGTRAP(), lldb_private::process_netbsd::NativeProcessNetBSD::MonitorSIGTRAP(), lldb_private::NativeProcessWindows::OnCreateThread(), lldb_private::NativeProcessWindows::OnDebuggerConnected(), lldb_private::NativeProcessWindows::OnExitThread(), lldb_private::process_freebsd::NativeProcessFreeBSD::ReinitializeThreads(), lldb_private::process_netbsd::NativeProcessNetBSD::ReinitializeThreads(), RemoveHardwareBreakpoint(), lldb_private::process_freebsd::NativeProcessFreeBSD::RemoveThread(), lldb_private::process_netbsd::NativeProcessNetBSD::RemoveThread(), RemoveWatchpoint(), lldb_private::process_freebsd::NativeProcessFreeBSD::Resume(), lldb_private::process_linux::NativeProcessLinux::Resume(), lldb_private::process_netbsd::NativeProcessNetBSD::Resume(), lldb_private::NativeProcessWindows::Resume(), SetHardwareBreakpoint(), SetWatchpoint(), lldb_private::process_linux::NativeProcessLinux::SignalIfAllThreadsStopped(), lldb_private::process_linux::NativeProcessLinux::StopRunningThreads(), lldb_private::NativeProcessWindows::StopThread(), lldb_private::process_linux::NativeProcessLinux::StopTrackingThread(), Threads(), lldb_private::process_freebsd::NativeProcessFreeBSD::UpdateThreads(), lldb_private::process_linux::NativeProcessLinux::UpdateThreads(), lldb_private::process_netbsd::NativeProcessNetBSD::UpdateThreads(), and lldb_private::NativeProcessWindows::UpdateThreads().
|
mutableprotected |
Definition at line 428 of file NativeProcessProtocol.h.
Referenced by GetThreadAtIndex(), GetThreadByID(), RemoveHardwareBreakpoint(), RemoveWatchpoint(), SetHardwareBreakpoint(), SetWatchpoint(), and Threads().
|
protected |
Definition at line 436 of file NativeProcessProtocol.h.
Referenced by GetWatchpointMap(), RemoveWatchpoint(), and SetWatchpoint().