|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A stack frame represents an execution context in a suspended thread. A stack frame contains variables representing visible locals and arguments at the current execution location. Minimally, a stack frame supports the following:
A debug model implementation may choose to re-use or discard stack frames on iterative thread suspensions. Clients cannot assume that stack frames are identical or equal across iterative thread suspensions and must check for equality on iterative suspensions if they wish to re-use the objects.
A debug model implementation that preserves equality across iterative suspensions may display more desirable behavior in some clients. For example, if stack frames are preserved while stepping, a UI client would be able to update the UI incrementally, rather than collapse and redraw the entire list.
Clients may implement this interface.
IStep
,
ISuspendResume
,
ITerminate
Method Summary | |
int |
getCharEnd()
Returns the index of the last character in the associated source element that corresponds to the current location of the instruction pointer in this stack frame, or -1 if the information is unavailable. |
int |
getCharStart()
Returns the index of the first character in the associated source element that corresponds to the current location of the instruction pointer in this stack frame, or -1 if the information is unavailable. |
int |
getLineNumber()
Returns the line number of the instruction pointer in this stack frame that corresponds to a line in an associated source element, or -1 if line number information
is unavailable. |
String |
getName()
Returns the name of this stack frame. |
IRegisterGroup[] |
getRegisterGroups()
Returns the register groups assigned to this stack frame, or an empty collection if no register groups are assigned to this stack frame. |
IThread |
getThread()
Returns the thread this stack frame is contained in. |
IVariable[] |
getVariables()
Returns the visible variables in this stack frame. |
boolean |
hasRegisterGroups()
Returns whether this stack frame contains any register groups. |
boolean |
hasVariables()
Returns whether this stack frame currently contains any visible variables. |
Methods inherited from interface org.eclipse.debug.core.model.IDebugElement |
getDebugTarget, getLaunch, getModelIdentifier |
Methods inherited from interface org.eclipse.core.runtime.IAdaptable |
getAdapter |
Methods inherited from interface org.eclipse.debug.core.model.IStep |
canStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturn |
Methods inherited from interface org.eclipse.debug.core.model.ISuspendResume |
canResume, canSuspend, isSuspended, resume, suspend |
Methods inherited from interface org.eclipse.debug.core.model.ITerminate |
canTerminate, isTerminated, terminate |
Method Detail |
public IThread getThread()
public IVariable[] getVariables() throws DebugException
DebugException
- if this method fails. Reasons include:
public boolean hasVariables() throws DebugException
DebugException
- if this method fails. Reasons include:
public int getLineNumber() throws DebugException
-1
if line number information
is unavailable.
-1
if line number information is unavailable
DebugException
- if this method fails. Reasons include:
public int getCharStart() throws DebugException
-1
if the information is unavailable.
If a debug model supports expression level stepping, the start/end character ranges are used to highlight the expression within a line that is being executed.
-1
if the information is unavailable
DebugException
- if this method fails. Reasons include:
public int getCharEnd() throws DebugException
-1
if the information is unavailable.
If a debug model supports expression level stepping, the start/end character ranges are used to highlight the expression within a line that is being executed.
-1
if the information is unavailable
DebugException
- if this method fails. Reasons include:
public String getName() throws DebugException
DebugException
- if this method fails. Reasons include:
public IRegisterGroup[] getRegisterGroups() throws DebugException
DebugException
- if this method fails. Reasons include:
public boolean hasRegisterGroups() throws DebugException
DebugException
- if this method fails. Reasons include:
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |