LLDB mainline
|
#include <InstrumentationRuntimeASan.h>
Public Member Functions | |
~InstrumentationRuntimeASan () override | |
llvm::StringRef | GetPluginName () override |
virtual lldb::InstrumentationRuntimeType | GetType () |
Public Member Functions inherited from lldb_private::InstrumentationRuntime | |
void | ModulesDidLoad (lldb_private::ModuleList &module_list) |
Look for the instrumentation runtime in module_list . | |
bool | IsActive () const |
virtual lldb::ThreadCollectionSP | GetBacktracesFromExtendedStopInfo (StructuredData::ObjectSP info) |
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 lldb::InstrumentationRuntimeSP | CreateInstance (const lldb::ProcessSP &process_sp) |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static lldb::InstrumentationRuntimeType | GetTypeStatic () |
Static Public Member Functions inherited from lldb_private::InstrumentationRuntime | |
static void | ModulesDidLoad (lldb_private::ModuleList &module_list, Process *process, InstrumentationRuntimeCollection &runtimes) |
Private Member Functions | |
InstrumentationRuntimeASan (const lldb::ProcessSP &process_sp) | |
const RegularExpression & | GetPatternForRuntimeLibrary () override |
Return a regular expression which can be used to identify a valid version of the runtime library. | |
bool | CheckIfRuntimeIsValid (const lldb::ModuleSP module_sp) override |
Check whether module_sp corresponds to a valid runtime library. | |
void | Activate () override |
Register a breakpoint in the runtime library and perform any other necessary initialization. | |
void | Deactivate () |
Static Private Member Functions | |
static bool | NotifyBreakpointHit (void *baton, StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id) |
Additional Inherited Members | |
Protected Member Functions inherited from lldb_private::InstrumentationRuntime | |
InstrumentationRuntime (const lldb::ProcessSP &process_sp) | |
lldb::ProcessSP | GetProcessSP () |
lldb::ModuleSP | GetRuntimeModuleSP () |
void | SetRuntimeModuleSP (lldb::ModuleSP module_sp) |
lldb::user_id_t | GetBreakpointID () const |
void | SetBreakpointID (lldb::user_id_t ID) |
void | SetActive (bool IsActive) |
virtual const RegularExpression & | GetPatternForRuntimeLibrary ()=0 |
Return a regular expression which can be used to identify a valid version of the runtime library. | |
virtual bool | CheckIfRuntimeIsValid (const lldb::ModuleSP module_sp)=0 |
Check whether module_sp corresponds to a valid runtime library. | |
virtual void | Activate ()=0 |
Register a breakpoint in the runtime library and perform any other necessary initialization. | |
Definition at line 16 of file InstrumentationRuntimeASan.h.
|
override |
Definition at line 45 of file InstrumentationRuntimeASan.cpp.
References Deactivate().
|
inlineprivate |
Definition at line 36 of file InstrumentationRuntimeASan.h.
|
overrideprivatevirtual |
Register a breakpoint in the runtime library and perform any other necessary initialization.
The runtime library is guaranteed to be loaded.
Implements lldb_private::InstrumentationRuntime.
Definition at line 79 of file InstrumentationRuntimeASan.cpp.
References lldb_private::Stoppoint::GetID(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::InstrumentationRuntime::GetRuntimeModuleSP(), lldb_private::InstrumentationRuntime::IsActive(), NotifyBreakpointHit(), lldb_private::InstrumentationRuntime::SetActive(), lldb_private::InstrumentationRuntime::SetBreakpointID(), lldb_private::Breakpoint::SetBreakpointKind(), lldb_private::Breakpoint::SetCallback(), and lldb_private::ReportRetriever::SetupBreakpoint().
|
overrideprivatevirtual |
Check whether module_sp
corresponds to a valid runtime library.
Implements lldb_private::InstrumentationRuntime.
Definition at line 55 of file InstrumentationRuntimeASan.cpp.
References lldb::eSymbolTypeAny.
|
static |
Definition at line 27 of file InstrumentationRuntimeASan.cpp.
Referenced by Initialize(), and Terminate().
|
private |
Definition at line 103 of file InstrumentationRuntimeASan.cpp.
References lldb_private::InstrumentationRuntime::GetBreakpointID(), lldb_private::InstrumentationRuntime::GetProcessSP(), LLDB_INVALID_BREAK_ID, lldb_private::InstrumentationRuntime::SetActive(), and lldb_private::InstrumentationRuntime::SetBreakpointID().
Referenced by ~InstrumentationRuntimeASan().
|
overrideprivatevirtual |
Return a regular expression which can be used to identify a valid version of the runtime library.
Implements lldb_private::InstrumentationRuntime.
Definition at line 48 of file InstrumentationRuntimeASan.cpp.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 31 of file InstrumentationRuntimeASan.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 27 of file InstrumentationRuntimeASan.h.
Referenced by GetPluginName(), and Initialize().
|
inlinevirtual |
Definition at line 33 of file InstrumentationRuntimeASan.h.
References GetTypeStatic().
|
static |
Definition at line 41 of file InstrumentationRuntimeASan.cpp.
References lldb::eInstrumentationRuntimeTypeAddressSanitizer.
Referenced by GetType(), and Initialize().
|
static |
Definition at line 31 of file InstrumentationRuntimeASan.cpp.
References CreateInstance(), GetPluginNameStatic(), GetTypeStatic(), and lldb_private::PluginManager::RegisterPlugin().
|
staticprivate |
Definition at line 63 of file InstrumentationRuntimeASan.cpp.
References lldb_private::InstrumentationRuntime::GetProcessSP(), and lldb_private::ReportRetriever::NotifyBreakpointHit().
Referenced by Activate().
|
static |
Definition at line 37 of file InstrumentationRuntimeASan.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().