Module openj9.dtfj

Class ImageStackFrame

java.lang.Object
com.ibm.dtfj.image.j9.ImageStackFrame
All Implemented Interfaces:
ImageStackFrame

public class ImageStackFrame extends Object implements ImageStackFrame
  • Constructor Details

  • Method Details

    • getProcedureAddress

      public ImagePointer getProcedureAddress() throws CorruptDataException
      Description copied from interface: ImageStackFrame
      Get the address of the current instruction within the procedure being executed.
      Specified by:
      getProcedureAddress in interface ImageStackFrame
      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

      public ImagePointer getBasePointer() throws CorruptDataException
      Description copied from interface: ImageStackFrame
      Get the base pointer of the stack frame.
      Specified by:
      getBasePointer in interface ImageStackFrame
      Returns:
      the base pointer of the stack frame
      Throws:
      CorruptDataException
    • getProcedureName

      public String getProcedureName() throws CorruptDataException
      Description copied from interface: ImageStackFrame
      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
      Specified by:
      getProcedureName in interface ImageStackFrame
      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