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

      public void getCodeSymbol(Address addr, long id, String name, Namespace namespace) throws IOException
      added throws IOException
      -void getCodeSymbol(ghidra.program.model.address.Address addr, long id, java.lang.String name, ghidra.program.model.symbol.Namespace namespace)
      +void getCodeSymbol(ghidra.program.model.address.Address addr, long id, java.lang.String name, ghidra.program.model.symbol.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 MODIFIED

      public void addFlowOverride(Address addr, FlowOverride fo) throws IOException
      added throws IOException
      -void addFlowOverride(ghidra.program.model.address.Address addr, ghidra.program.model.listing.FlowOverride fo)
      +void addFlowOverride(ghidra.program.model.address.Address addr, ghidra.program.model.listing.FlowOverride fo) throws IOException
      Throws:
      IOException
    • addInject MODIFIED

      public void addInject(Address addr, String name, int injectType, String payload) throws IOException
      added throws IOException
      -void addInject(ghidra.program.model.address.Address addr, java.lang.String name, int injectType, java.lang.String payload)
      +void addInject(ghidra.program.model.address.Address addr, java.lang.String name, int injectType, java.lang.String payload) throws IOException
      Throws:
      IOException
    • addPossiblePrototypeExtension

      public void addPossiblePrototypeExtension(Function testFunc)