Interface ImageStackFrame

All Known Implementing Classes:
ImageStackFrame, J9DDRImageStackFrame, JCImageStackFrame, PHDCorruptImageStackFrame, PHDImageStackFrame

public interface ImageStackFrame
Represents a native stack frame.
  • Method Details

    • getProcedureAddress

      ImagePointer getProcedureAddress() throws CorruptDataException
      Get the address of the current instruction within the procedure being executed.
      Returns:
      the address of the current instruction within the procedure being executed, or null if not available.

      Use this address with caution, as it is provided only as a best guess. It may not be correct, or even within readable memory

      Throws:
      CorruptDataException
    • getBasePointer

      ImagePointer getBasePointer() throws CorruptDataException
      Get the base pointer of the stack frame.
      Returns:
      the base pointer of the stack frame
      Throws:
      CorruptDataException
    • getProcedureName

      String getProcedureName() throws CorruptDataException
      Returns a string describing the procedure at this stack frame. Implementations should use the following template so that procedure names are reported consistently:

      public *

      libname(sourcefile)::entrypoint±offset

      Any portion of the template may be omitted if it is not available

      e.g.
      system32(source.c)::WaitForSingleObject+14
      system32::WaitForSingleObject-4
      (source.c)::WaitForSingleObject
      ::WaitForSingleObject+14
      system32+1404
      system32::TWindow::open(int,void*)+14
      Returns:
      a string naming the function executing in this stack frame. If the name is not known for legitimate reasons, DTFJ will return a synthetic name.
      Throws:
      CorruptDataException