public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate
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
Modifier and Type | Method and Description |
---|---|
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.
|
getDebugTarget, getLaunch, getModelIdentifier
getAdapter
canStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturn
canResume, canSuspend, isSuspended, resume, suspend
canTerminate, isTerminated, terminate
IThread getThread()
IVariable[] getVariables() throws DebugException
DebugException
- if this method fails. Reasons include:
boolean hasVariables() throws DebugException
DebugException
- if this method fails. Reasons include:
int getLineNumber() throws DebugException
-1
if line number information
is unavailable.-1
if line number information is unavailableDebugException
- if this method fails. Reasons include:
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 unavailableDebugException
- if this method fails. Reasons include:
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 unavailableDebugException
- if this method fails. Reasons include:
String getName() throws DebugException
DebugException
- if this method fails. Reasons include:
IRegisterGroup[] getRegisterGroups() throws DebugException
DebugException
- if this method fails. Reasons include:
boolean hasRegisterGroups() throws DebugException
DebugException
- if this method fails. Reasons include:
Copyright (c) 2000, 2018 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.