-
- All Known Implementing Classes:
ImageStackFrame
,J9DDRImageStackFrame
,JCImageStackFrame
,PHDCorruptImageStackFrame
,PHDImageStackFrame
public interface ImageStackFrame
Represents a native stack frame.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ImagePointer
getBasePointer()
Get the base pointer of the stack frame.ImagePointer
getProcedureAddress()
Get the address of the current instruction within the procedure being executed.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
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
-
-