|
LLDB mainline
|
#include <InstrumentationRuntimeBoundsSafety.h>
Public Member Functions | |
| ~InstrumentationRuntimeBoundsSafety () 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 |
| 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 | |
| InstrumentationRuntimeBoundsSafety (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 () |
| bool | MatchAllModules () override |
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) |
Definition at line 19 of file InstrumentationRuntimeBoundsSafety.h.
|
override |
Definition at line 333 of file InstrumentationRuntimeBoundsSafety.cpp.
References Deactivate().
|
inlineprivate |
Definition at line 40 of file InstrumentationRuntimeBoundsSafety.h.
References lldb_private::InstrumentationRuntime::InstrumentationRuntime().
Referenced by CreateInstance(), and NotifyBreakpointHit().
|
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 421 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::eLazyBoolNo, getBoundsSafetySoftTrapRuntimeFuncs(), lldb_private::GetLog(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::InstrumentationRuntime, lldb_private::InstrumentationRuntime::IsActive(), LLDB_LOG, LogBeforeReturn(), NotifyBreakpointHit(), lldb_private::InstrumentationRuntime::SetActive(), and lldb_private::InstrumentationRuntime::SetBreakpointID().
|
overrideprivatevirtual |
Check whether module_sp corresponds to a valid runtime library.
Implements lldb_private::InstrumentationRuntime.
Definition at line 365 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb_private::ConstString::AsCString(), lldb::eSymbolTypeAny, getBoundsSafetySoftTrapRuntimeFuncs(), lldb_private::GetLog(), lldb_private::InstrumentationRuntime, and LLDB_LOG.
|
static |
Definition at line 338 of file InstrumentationRuntimeBoundsSafety.cpp.
References InstrumentationRuntimeBoundsSafety().
Referenced by Initialize(), and Terminate().
|
private |
Definition at line 467 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb_private::InstrumentationRuntime::GetBreakpointID(), lldb_private::GetLog(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::InstrumentationRuntime, LLDB_INVALID_BREAK_ID, LLDB_LOG, lldb_private::InstrumentationRuntime::SetActive(), and lldb_private::InstrumentationRuntime::SetBreakpointID().
Referenced by ~InstrumentationRuntimeBoundsSafety().
|
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 360 of file InstrumentationRuntimeBoundsSafety.cpp.
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 35 of file InstrumentationRuntimeBoundsSafety.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 31 of file InstrumentationRuntimeBoundsSafety.h.
Referenced by GetPluginName(), and Initialize().
|
inlinevirtual |
Definition at line 37 of file InstrumentationRuntimeBoundsSafety.h.
References GetTypeStatic().
|
static |
Definition at line 355 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb::eInstrumentationRuntimeTypeBoundsSafety.
Referenced by GetType(), and Initialize().
|
static |
Definition at line 344 of file InstrumentationRuntimeBoundsSafety.cpp.
References CreateInstance(), GetPluginNameStatic(), GetTypeStatic(), and lldb_private::PluginManager::RegisterPlugin().
|
inlineoverrideprivatevirtual |
Reimplemented from lldb_private::InstrumentationRuntime.
Definition at line 56 of file InstrumentationRuntimeBoundsSafety.h.
|
staticprivate |
< false => resume execution.
Definition at line 385 of file InstrumentationRuntimeBoundsSafety.cpp.
References lldb_private::StoppointCallbackContext::exe_ctx_ref, lldb_private::ExecutionContextRef::GetProcessSP(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::ExecutionContextRef::GetThreadSP(), InstrumentationRuntimeBoundsSafety(), and LogBeforeReturn().
Referenced by Activate().
|
static |
Definition at line 350 of file InstrumentationRuntimeBoundsSafety.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().