LLDB
mainline
|
Public Member Functions | |
ValidPointerChecker (llvm::Module &module, std::shared_ptr< UtilityFunction > checker_function) | |
~ValidPointerChecker () override=default | |
![]() | |
Instrumenter (llvm::Module &module, std::shared_ptr< UtilityFunction > checker_function) | |
Constructor. More... | |
virtual | ~Instrumenter ()=default |
bool | Inspect (llvm::Function &function) |
Inspect a function to find instructions to instrument. More... | |
bool | Instrument () |
Instrument all the instructions found by Inspect() More... | |
Protected Member Functions | |
bool | InstrumentInstruction (llvm::Instruction *inst) override |
Add instrumentation to a single instruction. More... | |
bool | InspectInstruction (llvm::Instruction &i) override |
Determine whether a single instruction is interesting to instrument, and, if so, call RegisterInstruction. More... | |
![]() | |
void | RegisterInstruction (llvm::Instruction &inst) |
Register a single instruction to be instrumented. More... | |
virtual bool | InspectBasicBlock (llvm::BasicBlock &bb) |
Scan a basic block to see if any instructions are interesting. More... | |
virtual bool | InspectFunction (llvm::Function &f) |
Scan a function to see if any instructions are interesting. More... | |
llvm::FunctionCallee | BuildPointerValidatorFunc (lldb::addr_t start_address) |
Build a function pointer for a function with signature void (*)(uint8_t*) with a given address. More... | |
llvm::FunctionCallee | BuildObjectCheckerFunc (lldb::addr_t start_address) |
Build a function pointer for a function with signature void (*)(uint8_t*, uint8_t*) with a given address. More... | |
PointerType * | GetI8PtrTy () |
IntegerType * | GetIntptrTy () |
Private Attributes | |
llvm::FunctionCallee | m_valid_pointer_check_func |
Additional Inherited Members | |
![]() | |
typedef std::vector< llvm::Instruction * > | InstVector |
typedef InstVector::iterator | InstIterator |
![]() | |
InstVector | m_to_instrument |
List of instructions the inspector found. More... | |
llvm::Module & | m_module |
The module which is being instrumented. More... | |
std::shared_ptr< UtilityFunction > | m_checker_function |
The dynamic checker function for the process. More... | |
Definition at line 308 of file IRDynamicChecks.cpp.
|
inline |
Definition at line 310 of file IRDynamicChecks.cpp.
|
overridedefault |
|
inlineoverrideprotectedvirtual |
Determine whether a single instruction is interesting to instrument, and, if so, call RegisterInstruction.
[in] | i | The instruction to be inspected. |
Reimplemented from Instrumenter.
Definition at line 355 of file IRDynamicChecks.cpp.
|
inlineoverrideprotectedvirtual |
Add instrumentation to a single instruction.
[in] | inst | The instruction to be instrumented. |
Implements Instrumenter.
Definition at line 318 of file IRDynamicChecks.cpp.
References lldb_private::Expressions, lldb_private::GetLog(), LLDB_LOGF, and PrintValue().
|
private |
Definition at line 363 of file IRDynamicChecks.cpp.