Package ghidra.app.decompiler

# Class DecompileDebug

java.lang.Object
ghidra.app.decompiler.DecompileDebug

public class DecompileDebug extends Object
A container for collecting communication between the decompiler and the Ghidra database, as serviced through DecompileCallback during decompilation of a function. The query results can then be dumped as an XML document. The container is populated through methods that mirror the various methods in DecompileCallback.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DecompileDebug(File debugf)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addFlowOverride(Address addr, FlowOverride fo)`
  `void`
  `addInject(Address addr, String name, int injectType, String payload)`
  `void`
  `addPossiblePrototypeExtension(Function testFunc)`
  `void`
  `getBytes(Address addr, byte[] res)`
  `void`
  `getCodeSymbol(Address addr, long id, String name, Namespace namespace)`
  `void`
  `getComments(String comm)`
  `void`
  `getCPoolRef(String rec, long[] refs)`
  `void`
  `getFNTypes(HighFunction hfunc)`
  `void`
  `getMapped(Namespace namespc, String res)`
  `void`
  `getNamespacePath(Namespace namespace)`
  `void`
  `getPcode(Address addr, Instruction instr)`
  `void`
  `getStringData(Address addr, DecompileCallback.StringData stringData)`
  `void`
  `getTrackedRegisters(String doc)`
  `void`
  `getType(DataType dt)`
  `void`
  `nameIsUsed(Namespace spc, String nm)`
  `void`
  `setFunction(Function f)`
  `void`
  `setPcodeDataTypeManager(PcodeDataTypeManager dtm)`
  `void`
  `shutdown(Language pcodelanguage, String xmlOptions)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### DecompileDebug

    public DecompileDebug(File debugf)

- ## Method Details

  - ### setFunction

    public void setFunction(Function f)

  - ### setPcodeDataTypeManager

    public void setPcodeDataTypeManager(PcodeDataTypeManager dtm)

  - ### shutdown

    public void shutdown(Language pcodelanguage, String xmlOptions)

  - ### getPcode

    public void getPcode(Address addr, Instruction instr)

  - ### getBytes

    public void getBytes(Address addr, byte[] res)

  - ### getStringData

    public void getStringData(Address addr, DecompileCallback.StringData stringData)

  - ### getComments

    public void getComments(String comm)

  - ### getCodeSymbol

    public void getCodeSymbol(Address addr, long id, String name, Namespace namespace) throws IOException
    Throws:
      `IOException`

  - ### getNamespacePath

    public void getNamespacePath(Namespace namespace)

  - ### getMapped

    public void getMapped(Namespace namespc, String res)

  - ### getType

    public void getType(DataType dt)

  - ### getFNTypes

    public void getFNTypes(HighFunction hfunc)

  - ### getTrackedRegisters

    public void getTrackedRegisters(String doc)

  - ### getCPoolRef

    public void getCPoolRef(String rec, long[] refs)

  - ### nameIsUsed

    public void nameIsUsed(Namespace spc, String nm)

  - ### addFlowOverride

    public void addFlowOverride(Address addr, FlowOverride fo) throws IOException
    Throws:
      `IOException`

  - ### addInject

    public void addInject(Address addr, String name, int injectType, String payload) throws IOException
    Throws:
      `IOException`

  - ### addPossiblePrototypeExtension

    public void addPossiblePrototypeExtension(Function testFunc)