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, hasStackFramesgetDebugTarget, getLaunch, getModelIdentifiergetAdaptercanResume, canSuspend, isSuspended, resume, suspendcanTerminate, isTerminated, terminatecanStepWithFilters, stepWithFilterscanStepInto, canStepOver, canStepReturn, isStepping, stepInto, stepOver, stepReturnstatic 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 nullevaluationDetail - one of DebugEvent.EVALUATION or
DebugEvent.EVALUATION_IMPLICIThitBreakpoints - 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 ITerminateIJavaObject 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.DebugExceptionThread.stop(java.lang.Throwable)IJavaThreadGroup getThreadGroup() throws DebugException
null if none.nullDebugExceptionCopyright (c) IBM Corp. and others 2000, 2006. All Rights Reserved.