public interface IJavaThread extends IThread, IFilteredStep
Clients are not intended to implement this interface.
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 . |
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. |
boolean |
hasOwnedMonitors()
Returns whether this threads owns at least one monitor.
|
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
).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
Thread.stop(java.lang.Throwable)
IJavaThreadGroup getThreadGroup() throws DebugException
null
if none.null
DebugException
Copyright (c) IBM Corp. and others 2000, 2006. All Rights Reserved.