Class BreakTableCallBack

java.lang.Object
ghidra.pcode.emulate.BreakTableCallBack
All Implemented Interfaces:
BreakTable

@Deprecated(since="12.1", forRemoval=true) public class BreakTableCallBack extends Object implements BreakTable
Deprecated, for removal: This API element is subject to removal in a future version.
A basic instantiation of a breakpoint table

This object allows breakpoints to registered in the table via either

  • registerPcodeCallback()
  • registerAddressCallback()
Breakpoints are stored in map containers, and the core BreakTable methods are implemented to search in these containers
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    The break table needs a translator object so user-defined pcode ops can be registered against by name.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
    This routine examines the address based container for any breakpoints associated with the given address.
    boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
    This routine examines the pcode-op based container for any breakpoints associated with the given op.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Any time the emulator is about to execute (the pcode translation of) a particular machine instruction at this address, the indicated breakpoint is invoked first.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Any time the emulator is about to execute a user-defined pcode op with the given name, the indicated breakpoint is invoked first.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    This routine invokes the setEmulate method on each breakpoint currently in the table
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Unregister the currently registered PcodeCallback handler for the specified name

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_NAME

      public static final String DEFAULT_NAME
      Deprecated, for removal: This API element is subject to removal in a future version.
      See Also:
  • Constructor Details

    • BreakTableCallBack

      public BreakTableCallBack(SleighLanguage language)
      Deprecated, for removal: This API element is subject to removal in a future version.
      The break table needs a translator object so user-defined pcode ops can be registered against by name.
      Parameters:
      language - the language
  • Method Details

    • registerPcodeCallback

      public void registerPcodeCallback(String name, BreakCallBack func)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Any time the emulator is about to execute a user-defined pcode op with the given name, the indicated breakpoint is invoked first. The break table does not assume responsibility for freeing the breakpoint object.
      Parameters:
      name - is the name of the user-defined pcode op
      func - is the breakpoint object to associate with the pcode op
    • unregisterPcodeCallback

      public void unregisterPcodeCallback(String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Unregister the currently registered PcodeCallback handler for the specified name
      Parameters:
      name - is the name of the user-defined pcode op
    • registerAddressCallback

      public void registerAddressCallback(Address addr, BreakCallBack func)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Any time the emulator is about to execute (the pcode translation of) a particular machine instruction at this address, the indicated breakpoint is invoked first. The break table does not assume responsibility for freeing the breakpoint object.
      Parameters:
      addr - is the address associated with the breakpoint
      func - is the breakpoint being registered
    • unregisterAddressCallback

      public void unregisterAddressCallback(Address addr)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • setEmulate

      public void setEmulate(Emulate emu)
      Deprecated, for removal: This API element is subject to removal in a future version.
      This routine invokes the setEmulate method on each breakpoint currently in the table
      Specified by:
      setEmulate in interface BreakTable
      Parameters:
      emu - is the emulator to be associated with the breakpoints
    • doPcodeOpBreak

      public boolean doPcodeOpBreak(PcodeOpRaw curop)
      Deprecated, for removal: This API element is subject to removal in a future version.
      This routine examines the pcode-op based container for any breakpoints associated with the given op. If one is found, its pcodeCallback method is invoked.
      Specified by:
      doPcodeOpBreak in interface BreakTable
      Parameters:
      curop - is pcode op being checked for breakpoints
      Returns:
      true if the breakpoint exists and returns true, otherwise return false
    • doAddressBreak

      public boolean doAddressBreak(Address addr)
      Deprecated, for removal: This API element is subject to removal in a future version.
      This routine examines the address based container for any breakpoints associated with the given address. If one is found, its addressCallback method is invoked.
      Specified by:
      doAddressBreak in interface BreakTable
      Parameters:
      addr - is the address being checked for breakpoints
      Returns:
      true if the breakpoint exists and returns true, otherwise return false