decompiler
1.0.0
|
A collection of breakpoints for the emulator. More...
#include <emulate.hh>
Public Member Functions | |
virtual void | setEmulate (Emulate *emu)=0 |
Associate a particular emulator with breakpoints in this table. More... | |
virtual bool | doPcodeOpBreak (PcodeOpRaw *curop)=0 |
Invoke any breakpoints associated with this particular pcodeop. More... | |
virtual bool | doAddressBreak (const Address &addr)=0 |
Invoke any breakpoints associated with this machine address. More... | |
A collection of breakpoints for the emulator.
A BreakTable keeps track of an arbitrary number of breakpoints for an emulator. Breakpoints are either associated with a particular user-defined pcode op, or with a specific machine address (as in a standard debugger). Through the BreakTable object, an emulator can invoke breakpoints through the two methods
depending on the type of breakpoint they currently want to invoke
|
pure virtual |
Invoke any breakpoints associated with this machine address.
Within the table, the first breakpoint which is designed to work with at this address is invoked. If there was a breakpoint, and if it was designed to replace the action of the machine instruction, then true is returned.
addr | is address to test for breakpoints |
Implemented in ghidra::BreakTableCallBack.
Referenced by ghidra::EmulatePcodeCache::executeInstruction().
|
pure virtual |
Invoke any breakpoints associated with this particular pcodeop.
Within the table, the first breakpoint which is designed to work with this particular kind of pcode operation is invoked. If there was a breakpoint and it was designed to replace the action of the pcode op, then true is returned.
curop | is the instance of a pcode op to test for breakpoints |
Implemented in ghidra::BreakTableCallBack.
Referenced by ghidra::EmulatePcodeCache::executeCallother().
|
pure virtual |
Associate a particular emulator with breakpoints in this table.
Breakpoints may need access to the context in which they are invoked. This routine provides the context for all breakpoints in the table.
emu | is the Emulate context |
Implemented in ghidra::BreakTableCallBack.
Referenced by ghidra::EmulatePcodeCache::EmulatePcodeCache().