|
 |
|
|
org.eclipse.jdt.debug.core
Interface IJavaThread
-
All Superinterfaces:
-
IAdaptable,
IDebugElement,
IFilteredStep,
IStep,
ISuspendResume,
ITerminate,
IThread
-
public interface IJavaThread
- extends
IThread,
IFilteredStep
A thread in a Java virtual machine.
-
See Also:
-
IThread
-
Restriction:
- This interface is not intended to be implemented by clients.
-
Restriction:
- This interface is not intended to be extended by clients.
Field Summary
|
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. |
Method Summary
|
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. |
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. |
ERR_THREAD_NOT_SUSPENDED
static final int ERR_THREAD_NOT_SUSPENDED
- Status code indicating a request failed because a thread
was not suspended.
-
See Also:
-
Constant Field Values
ERR_NESTED_METHOD_INVOCATION
static final 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.
-
See Also:
-
IJavaObject.sendMessage(String, String, IJavaValue[], IJavaThread, boolean) ,
IJavaClassType.sendMessage(String, String, IJavaValue[], IJavaThread) ,
IJavaClassType.newInstance(String, IJavaValue[], IJavaThread) ,
Constant Field Values
ERR_INCOMPATIBLE_THREAD_STATE
static final 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. When a thread is suspended explicitly via
the
suspend() method, it is not able to perform
method invocations (this is a JDI limitation).
-
See Also:
-
IJavaObject.sendMessage(String, String, IJavaValue[], IJavaThread, boolean) ,
IJavaClassType.sendMessage(String, String, IJavaValue[], IJavaThread) ,
IJavaClassType.newInstance(String, IJavaValue[], IJavaThread) ,
Constant Field Values
isSystemThread
boolean isSystemThread()
throws
DebugException
- Returns whether this thread is a system thread.
-
-
-
Returns:
- whether this thread is a system thread
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
isOutOfSynch
boolean isOutOfSynch()
throws
DebugException
- 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.
-
-
-
Returns:
- whether this thread is out of synch with the workspace.
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
-
Since:
- 2.0
mayBeOutOfSynch
boolean mayBeOutOfSynch()
throws
DebugException
- Returns whether this thread may be running code in the VM that
is out of synch with the code in the workspace.
-
-
-
Returns:
- whether this thread may be out of synch with the workspace.
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
-
Since:
- 2.0
isPerformingEvaluation
boolean isPerformingEvaluation()
- Returns whether this thread is currently performing
an evaluation.
-
-
-
Returns:
- whether this thread is currently performing
an evaluation
-
Since:
- 2.0
getThreadGroupName
String getThreadGroupName()
throws
DebugException
- Returns the name of the thread group this thread belongs to,
or
null if none.
-
-
-
Returns:
- thread group name, or
null if none
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
findVariable
IJavaVariable findVariable(
String variableName)
throws
DebugException
- 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.
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.
-
-
-
Parameters:
-
variableName - the name of the variable to search for
-
Returns:
- a variable, or
null if none
-
Throws:
-
DebugException
- if this method fails. Reasons include:
- Failure communicating with the VM. The DebugException's
status code contains the underlying exception responsible for
the failure.
runEvaluation
void runEvaluation(
IEvaluationRunnable evaluation,
IProgressMonitor monitor,
int evaluationDetail,
boolean hitBreakpoints)
throws
DebugException
- Invokes the given evaluation with the specified progress
monitor. This thread fires a resume event
when the evaluation begins, and a suspend event when the evaluation
completes or throws an exception. The events are given a detail
as specified by
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.
-
-
-
Parameters:
-
evaluation - the evaluation to perform -
monitor - 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.
-
Throws:
-
DebugException
- if an exception occurs performing
the evaluation -
Since:
- 2.0
queueRunnable
void queueRunnable(
Runnable runnable)
- Queues the given runnable with the list of runnables associated with this thread.
Runnables are executed asynchronously in a separate thread. This method should be
used to execute any code which performs an operation like a method invocation.
-
-
-
Parameters:
-
runnable - the runnable to execute. -
Since:
- 2.1
terminateEvaluation
void terminateEvaluation()
throws
DebugException
- Attempts to terminate the currently executing
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.
-
-
-
Throws:
-
DebugException
- if an exception occurs while
terminating the evaluation. -
Since:
- 2.1
canTerminateEvaluation
boolean canTerminateEvaluation()
- Returns whether the currently executing
IEvaluationRunnable
supports termination. An IEvaluationRunnable supports termination
if it implements ITerminate
-
-
-
Returns:
- whether the current evaluation supports termination
-
Since:
- 2.1
getContendedMonitor
IJavaObject getContendedMonitor()
throws
DebugException
- Returns a Java object for the monitor for
which this thread is currently waiting or
null .
-
-
-
Returns:
- IJavaObject the contended monitor object or
null if this
thread is not waiting on a monitor.
-
Throws:
-
DebugException
- if an exception occurs while
retrieving the contended monitor. -
Since:
- 2.1
getOwnedMonitors
IJavaObject[] getOwnedMonitors()
throws
DebugException
- Returns the monitors owned by this thread or
null
if this thread owns no monitors.
-
-
-
Returns:
- the owned monitors
-
Throws:
-
DebugException
- if an exception occurs while retrieving
the owned monitors of this thread. -
Since:
- 2.1
hasOwnedMonitors
boolean hasOwnedMonitors()
throws
DebugException
- Returns whether this threads owns at least one monitor.
-
-
-
Returns:
- boolean whether this thread owns a monitor
-
Throws:
-
DebugException
- if an exception occurs determining
if there are owned monitors. -
Since:
- 2.1
stop
void stop(
IJavaObject exception)
throws
DebugException
- Request to stops this thread with the given exception.
The result will be the same as calling java.lang.Thread#stop(java.lang.Throwable).
If the thread is suspended when the method is called, the thread must be
resumed to complete the action.
exception must represent an exception.
-
-
-
Parameters:
-
exception - the exception to throw.
-
Throws:
-
DebugException
-
Since:
- 3.0
-
See Also:
-
Thread.stop(java.lang.Throwable)
getThreadGroup
IJavaThreadGroup getThreadGroup()
throws
DebugException
- Returns the thread group this thread belongs to or
null if none.
-
-
-
Returns:
- thread group or
null
-
Throws:
-
DebugException
-
Since:
- 3.2
isDaemon
boolean isDaemon()
throws
DebugException
- Returns whether this thread is a daemon thread.
-
-
-
Returns:
- whether this thread is a daemon thread
-
Throws:
-
DebugException
- if an exception occurs while determining status -
Since:
- 3.3
getFrameCount
int getFrameCount()
throws
DebugException
- Returns the number of frames in this thread.
-
-
-
Returns:
- number of stack frames
-
Throws:
-
DebugException
- if an exception occurs while retrieving the count -
Since:
- 3.3
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|
|