Ghidra Decompiler Analysis Engine
Public Member Functions | List of all members
BreakTable Class Referenceabstract

A collection of breakpoints for the emulator. More...

#include <emulate.hh>

Inheritance diagram for BreakTable:
Inheritance graph
[legend]

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...
 

Detailed Description

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

Member Function Documentation

◆ doAddressBreak()

virtual bool BreakTable::doAddressBreak ( const Address addr)
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.

Parameters
addris address to test for breakpoints
Returns
true if the machine instruction has been replaced by a breakpoint

Implemented in BreakTableCallBack.

◆ doPcodeOpBreak()

virtual bool BreakTable::doPcodeOpBreak ( PcodeOpRaw curop)
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.

Parameters
curopis the instance of a pcode op to test for breakpoints
Returns
true if the action of the pcode op is performed by the breakpoint

Implemented in BreakTableCallBack.

◆ setEmulate()

virtual void BreakTable::setEmulate ( Emulate emu)
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.

Parameters
emuis the Emulate context

Implemented in BreakTableCallBack.


The documentation for this class was generated from the following file: