Ghidra Decompiler Analysis Engine
|
A breakpoint object. More...
#include <emulate.hh>
Public Member Functions | |
BreakCallBack (void) | |
Generic breakpoint constructor. More... | |
virtual bool | pcodeCallback (PcodeOpRaw *op) |
Call back method for pcode based breakpoints. More... | |
virtual bool | addressCallback (const Address &addr) |
Call back method for address based breakpoints. More... | |
void | setEmulate (Emulate *emu) |
Associate a particular emulator with this breakpoint. More... | |
Protected Attributes | |
Emulate * | emulate |
The emulator currently associated with this breakpoint. | |
A breakpoint object.
This is a base class for breakpoint objects in an emulator. The breakpoints are implemented as callback method, which is overridden for the particular behavior needed by the emulator. Each derived class must override either
depending on whether the breakpoint is tailored for a particular pcode op or for a machine address.
|
inline |
Generic breakpoint constructor.
The base breakpoint needs no initialization parameters, the setEmulate() method must be called before the breakpoint can be invoked
|
inlinevirtual |
Call back method for address based breakpoints.
This routine is invoked during emulation, if this breakpoint has somehow been associated with this address. The callback can perform any operation on the emulator context it wants. It then returns true if these actions are intended to replace the action of the entire machine instruction at this address. Or it returns false if the machine instruction should still be executed normally.
addr | is the address where the break has occurred |
Reimplemented in TerminateCallBack, PrintfCallBack, and PutsCallBack.
|
inlinevirtual |
Call back method for pcode based breakpoints.
This routine is invoked during emulation, if this breakpoint has somehow been associated with this kind of pcode op. The callback can perform any operation on the emulator context it wants. It then returns true if these actions are intended to replace the action of the pcode op itself. Or it returns false if the pcode op should still have its normal effect on the emulator context.
op | is the particular pcode operation where the break occurs. |
|
inline |
Associate a particular emulator with this breakpoint.
Breakpoints can be associated with one emulator at a time.
emu | is the emulator to associate this breakpoint with |