public interface IJavaThread extends IThread, IFilteredStep
IThread
Modifier and Type | Field and Description |
---|---|
static int |
ERR_INCOMPATIBLE_THREAD_STATE
Status code indicating a request to perform a message send failed because
a thread was not suspended by a step or breakpoint event.
|
static int |
ERR_NESTED_METHOD_INVOCATION
Status code indicating a request to perform a message send failed because
a thread was already performing a message send.
|
static int |
ERR_THREAD_NOT_SUSPENDED
Status code indicating a request failed because a thread was not
suspended.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canTerminateEvaluation()
Returns whether the currently executing
IEvaluationRunnable
supports termination. |
IJavaVariable |
findVariable(String variableName)
Returns a variable with the given name, or
null if unable to
resolve a variable with the name, or if this thread is not currently
suspended. |
IJavaObject |
getContendedMonitor()
Returns a Java object for the monitor for which this thread is currently
waiting or
null . |
int |
getFrameCount()
Returns the number of frames in this thread.
|
IJavaObject[] |
getOwnedMonitors()
Returns the monitors owned by this thread or
null if this
thread owns no monitors. |
IJavaThreadGroup |
getThreadGroup()
Returns the thread group this thread belongs to or
null if
none. |
String |
getThreadGroupName()
Returns the name of the thread group this thread belongs to, or
null if none. |
IJavaObject |
getThreadObject()
Returns the object reference associated with this thread.
|
boolean |
hasOwnedMonitors()
Returns whether this threads owns at least one monitor.
|
boolean |
isDaemon()
Returns whether this thread is a daemon thread.
|
boolean |
isOutOfSynch()
Returns whether any of the stack frames associated with this thread are
running code in the VM that is out of synch with the code in the
workspace.
|
boolean |
isPerformingEvaluation()
Returns whether this thread is currently performing an evaluation.
|
boolean |
isSystemThread()
Returns whether this thread is a system thread.
|
boolean |
mayBeOutOfSynch()
Returns whether this thread may be running code in the VM that is out of
synch with the code in the workspace.
|
void |
queueRunnable(Runnable runnable)
Queues the given runnable with the list of runnables associated with this
thread.
|
void |
runEvaluation(IEvaluationRunnable evaluation,
IProgressMonitor monitor,
int evaluationDetail,
boolean hitBreakpoints)
Invokes the given evaluation with the specified progress monitor.
|
void |
stop(IJavaObject exception)
Request to stops this thread with the given exception.
|
void |
terminateEvaluation()
Attempts to terminate the currently executing
IEvaluationRunnable in this thread, if any. |
getBreakpoints, getName, getPriority, getStackFrames, getTopStackFrame, hasStackFrames
getDebugTarget, getLaunch, getModelIdentifier
getAdapter
canResume, canSuspend, isSuspended, resume, suspend
canTerminate, isTerminated, terminate
canStepWithFilters, stepWithFilters
canStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturn
static final int ERR_THREAD_NOT_SUSPENDED
static final int ERR_NESTED_METHOD_INVOCATION
static final int ERR_INCOMPATIBLE_THREAD_STATE
suspend()
method, it is not
able to perform method invocations (this is a JDI limitation).boolean isSystemThread() throws DebugException
DebugException
- if this method fails. Reasons include:
boolean isOutOfSynch() throws DebugException
DebugException
- if this method fails. Reasons include:
boolean mayBeOutOfSynch() throws DebugException
DebugException
- if this method fails. Reasons include:
boolean isPerformingEvaluation()
String getThreadGroupName() throws DebugException
null
if none.null
if noneDebugException
- if this method fails. Reasons include:
IJavaVariable findVariable(String variableName) throws DebugException
null
if unable to
resolve a variable with the name, or if this thread is not currently
suspended.
Variable lookup works only when a thread is suspended. Lookup is
performed in all stack frames, in a top-down order, returning the first
successful match, or null
if no match is found.
variableName
- the name of the variable to search fornull
if noneDebugException
- if this method fails. Reasons include:
void runEvaluation(IEvaluationRunnable evaluation, IProgressMonitor monitor, int evaluationDetail, boolean hitBreakpoints) throws DebugException
evaluationDetail
(one of
DebugEvent.EVALUATION
or
DebugEvent.EVALUATION_IMPLICIT
).
Since 3.5, the org.eclipse.jdt.debug.breakpointListeners
extension point supports evaluation execution during a listener call
back. Suspend and resume events are not fired during listener call backs.
Unspecified model specific events are fired.
evaluation
- the evaluation to performmonitor
- progress monitor (may be null
evaluationDetail
- one of DebugEvent.EVALUATION
or
DebugEvent.EVALUATION_IMPLICIT
hitBreakpoints
- whether or not breakpoints should be honored in this thread
during the evaluation. If false
, breakpoints hit
in this thread during the evaluation will be ignored.DebugException
- if an exception occurs performing the evaluationvoid queueRunnable(Runnable runnable)
runnable
- the runnable to execute.void terminateEvaluation() throws DebugException
IEvaluationRunnable
in this thread, if any.
Evaluations may be composed of a series of instructions. Terminating an
evaluation means stopping the evaluation after the current instruction
completes. A single instruction (such as a method invocation) cannot be
interrupted.DebugException
- if an exception occurs while terminating the evaluation.boolean canTerminateEvaluation()
IEvaluationRunnable
supports termination. An IEvaluationRunnable supports termination if it
implements ITerminate
IJavaObject getContendedMonitor() throws DebugException
null
.null
if
this thread is not waiting on a monitor.DebugException
- if an exception occurs while retrieving the contended
monitor.IJavaObject[] getOwnedMonitors() throws DebugException
null
if this
thread owns no monitors.DebugException
- if an exception occurs while retrieving the owned monitors
of this thread.boolean hasOwnedMonitors() throws DebugException
DebugException
- if an exception occurs determining if there are owned
monitors.void stop(IJavaObject exception) throws DebugException
exception
- the exception to throw.DebugException
- if the request failsThread.stop(java.lang.Throwable)
IJavaThreadGroup getThreadGroup() throws DebugException
null
if
none.null
DebugException
- if the thread group cannot be computedboolean isDaemon() throws DebugException
DebugException
- if an exception occurs while determining statusint getFrameCount() throws DebugException
DebugException
- if an exception occurs while retrieving the countIJavaObject getThreadObject() throws DebugException
DebugException
- if unable to retrieve an object reference
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.