LLDB mainline
|
A plug-in interface definition class for halted OS helpers. More...
#include "lldb/Target/OperatingSystem.h"
Public Member Functions | |
OperatingSystem (Process *process) | |
virtual bool | UpdateThreadList (ThreadList &old_thread_list, ThreadList &real_thread_list, ThreadList &new_thread_list)=0 |
virtual void | ThreadWasSelected (Thread *thread)=0 |
virtual lldb::RegisterContextSP | CreateRegisterContextForThread (Thread *thread, lldb::addr_t reg_data_addr)=0 |
virtual lldb::StopInfoSP | CreateThreadStopReason (Thread *thread)=0 |
virtual lldb::ThreadSP | CreateThread (lldb::tid_t tid, lldb::addr_t context) |
virtual bool | IsOperatingSystemPluginThread (const lldb::ThreadSP &thread_sp) |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
virtual llvm::StringRef | GetPluginName ()=0 |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static OperatingSystem * | FindPlugin (Process *process, const char *plugin_name) |
Find a halted OS plugin for a given process. | |
Protected Attributes | |
Process * | m_process |
The process that this dynamic loader plug-in is tracking. | |
A plug-in interface definition class for halted OS helpers.
Halted OS plug-ins can be used by any process to locate and create OS objects, like threads, during the lifetime of a debug session. This is commonly used when attaching to an operating system that is halted, such as when debugging over JTAG or connecting to low level kernel debug services.
Definition at line 27 of file OperatingSystem.h.
OperatingSystem::OperatingSystem | ( | Process * | process | ) |
Definition at line 44 of file OperatingSystem.cpp.
|
pure virtual |
|
inlinevirtual |
Definition at line 58 of file OperatingSystem.h.
Referenced by lldb_private::Process::CreateOSPluginThread().
|
pure virtual |
Referenced by ThreadMemory::CalculateStopInfo().
|
static |
Find a halted OS plugin for a given process.
Scans the installed OperatingSystem plug-ins and tries to find an instance that matches the current target triple and executable.
[in] | process | The process for which to try and locate a halted OS plug-in instance. |
[in] | plugin_name | An optional name of a specific halted OS plug-in that should be used. If NULL, pick the best plug-in. |
Definition at line 16 of file OperatingSystem.cpp.
References lldb_private::PluginManager::GetOperatingSystemCreateCallbackAtIndex(), and lldb_private::PluginManager::GetOperatingSystemCreateCallbackForPluginName().
Referenced by lldb_private::Process::LoadOperatingSystemPlugin().
|
virtual |
Definition at line 46 of file OperatingSystem.cpp.
Referenced by lldb_private::RegisterContextThreadMemory::UpdateRegisterContext().
|
pure virtual |
|
pure virtual |
Referenced by lldb_private::Process::UpdateThreadListIfNeeded().
|
protected |
The process that this dynamic loader plug-in is tracking.
Definition at line 67 of file OperatingSystem.h.