LLDB mainline
|
A plug-in interface definition class for JIT loaders. More...
#include "lldb/Target/JITLoader.h"
Public Member Functions | |
JITLoader (Process *process) | |
Construct with a process. | |
~JITLoader () override | |
virtual void | DidAttach ()=0 |
Called after attaching a process. | |
virtual void | DidLaunch ()=0 |
Called after launching a process. | |
virtual void | ModulesDidLoad (lldb_private::ModuleList &module_list)=0 |
Called after a new shared object has been loaded so that it can be probed for JIT entry point hooks. | |
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 void | LoadPlugins (Process *process, lldb_private::JITLoaderList &list) |
Find a JIT loader plugin for a given process. | |
Protected Attributes | |
Process * | m_process |
A plug-in interface definition class for JIT loaders.
Plugins of this kind listen for code generated at runtime in the target. They are very similar to dynamic loader, with the difference that they do not have information about the target's dyld and that there may be multiple JITLoader plugins per process, while there is at most one DynamicLoader.
Definition at line 27 of file JITLoader.h.
JITLoader::JITLoader | ( | Process * | process | ) |
Construct with a process.
Definition at line 30 of file JITLoader.cpp.
|
overridedefault |
|
pure virtual |
Called after attaching a process.
Allow JITLoader plug-ins to execute some code after attaching to a process.
Implemented in JITLoaderGDB.
|
pure virtual |
Called after launching a process.
Allow JITLoader plug-ins to execute some code after the process has stopped for the first time on launch.
Implemented in JITLoaderGDB.
|
static |
Find a JIT loader plugin for a given process.
Scans the installed DynamicLoader plug-ins and tries to find all applicable instances for the current process.
[in] | process | The process for which to try and locate a JIT loader plug-in instance. |
Definition at line 18 of file JITLoader.cpp.
References lldb_private::JITLoaderList::Append(), and lldb_private::PluginManager::GetJITLoaderCreateCallbackAtIndex().
Referenced by lldb_private::Process::GetJITLoaders().
|
pure virtual |
Called after a new shared object has been loaded so that it can be probed for JIT entry point hooks.
Implemented in JITLoaderGDB.
|
protected |
Definition at line 63 of file JITLoader.h.
Referenced by JITLoaderGDB::DidAttach(), JITLoaderGDB::DidLaunch(), JITLoaderGDB::GetSymbolAddress(), JITLoaderGDB::ModulesDidLoad(), JITLoaderGDB::ReadJITDescriptor(), JITLoaderGDB::ReadJITDescriptorImpl(), JITLoaderGDB::SetJITBreakpoint(), and JITLoaderGDB::~JITLoaderGDB().