com.ibm.dtfj.image
Interface ImageStackFrame


public interface ImageStackFrame

Represents a native stack frame

Author:
pburka

Method Summary
 ImagePointer getBasePointer()
          Get the base pointer of the stack frame.
 ImagePointer getProcedureAddress()
          Get the address of the current instruction within the procedure being executed.
 java.lang.String getProcedureName()
          Returns a string describing the procedure at this stack frame.
 

Method Detail

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

java.lang.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:

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