|
|||||||||
| Home >> All >> org >> eclipse >> debug >> [ core overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.eclipse.debug.core
Class DebugEvent

java.lang.Objectjava.util.EventObject
org.eclipse.debug.core.DebugEvent
- All Implemented Interfaces:
- java.io.Serializable
- public final class DebugEvent
- extends java.util.EventObject
A debug event describes an event in a program being debugged or in a running process. Debug models and process implementations are required to generate debug events as specified by this class.
The following list defines the events generated for each debug
model element.
The getSource() method of a debug event
returns the element associated with the event.
Creation events are guaranteed to occur in a top
down order - that is, parents are created before children.
Termination events are guaranteed to occur in a bottom up order -
that is, children before parents. However, termination events are not guaranteed
for all elements that are created. That is, terminate events can be coalesced - a
terminate event for a parent signals that all children have been terminated.
A debug model may define model specific events by specifying a debug event
kind of MODEL_SPECIFIC. A model specific event is identified by the
event source (i.e. by the debug model that generated the event). The detail of
a model specific event is client defined. Note that model specific events are
not understood by the debug platform, and are thus ignored.
The generic CHANGE event can be fired at any time by any element.
Generally, a client of a debug model, such as as a UI, can get sufficient
information to update by listening/responding to the other event kinds. However,
if a debug model needs to inform clients of a change that is not specified
by create/terminate/suspend/resume, the CHANGE event may be used.
For example, generally, the only way a thread or any of its children can change
state between a suspend and resume operation, is if the thread or owning debug
target is terminated. However, if a debug model supports some other operation
that would allow a debug element to change state while suspended, the debug model
would fire a change event for that element. The valid detail codes for a
change event are:
STATE- indicates the state of an element has changed, but its children are not affected. A client would use a state change event to update a label of the affected element, but would not update any children.CONTENT- indicates that a debug element's value or contents have changed in some way. For example, when the value of a variable is changed explicitly, the variable should fire a content change event.
IProcessCREATE- a process has been created and is executing.TERMINATE- a process has terminated.
IDebugTargetCREATE- a debug target has been created and is ready to begin a debug session.TERMINATE- a debug target has terminated and the debug session has ended.SUSPEND- a debug target has suspended. Event detail provides the reason for the suspension:STEP_END- a request to step has completedBREAKPOINT- a breakpoint has been hitCLIENT_REQUEST- a client request has caused the target to suspend (i.e. an explicit call tosuspend())UNSPECIFIED- the reason for the suspend is not specified
RESUME- a debug target has resumed. Event detail provides the reason for the resume:STEP_INTO- a target is being resumed because of a request to step intoSTEP_OVER- a target is being resumed because of a request to step overSTEP_RETURN- a target is being resumed because of a request to step returnCLIENT_REQUEST- a client request has caused the target to be resumed (i.e. an explicit call toresume())UNSPECIFIED- The reason for the resume is not specified
IThreadCREATE- a thread has been created in a debug target.TERMINATE- a thread has terminated.SUSPEND- a thread has suspended execution. Event detail provides the reason for the suspension:STEP_END- a request to step has completedBREAKPOINT- a breakpoint has been hitCLIENT_REQUEST- a client request has caused the thread to suspend (i.e. an explicit call tosuspend())EVALUATION- an expression evaluation has ended that may have had side effects in the debug target.EVALUATION_IMPLICIT- an expression evaluation has ended that had no side effects in the debug target.UNSPECIFIED- the reason for the suspend is not specified
RESUME- a thread has resumed execution. Event detail provides the reason for the resume:STEP_INTO- a thread is being resumed because of a request to step intoSTEP_OVER- a thread is being resumed because of a request to step overSTEP_RETURN- a thread is being resumed because of a request to step returnCLIENT_REQUEST- a client request has caused the thread to be resumed (i.e. an explicit call toresume())EVALUATION- an expression evaluation has started that may have side effects in the debug target.EVALUATION_IMPLICIT- an expression evaluation has started that will have no side effects in the debug target.UNSPECIFIED- The reason for the resume is not specified
IStackFrame- no events are specified for stack frames. When a thread is suspended, it has stack frames. When a thread resumes, stack frames are unavailable.IVariable- no events are specified for variables. When a thread is suspended, stack frames have variables. When a thread resumes, variables are unavailable.IValue- no events are specified for values.
Clients may instantiate this class. Clients are not intended to subclass this class.
| Field Summary | |
static int |
BREAKPOINT
Breakpoint detail. |
static int |
CHANGE
Change event kind. |
static int |
CLIENT_REQUEST
Client request detail. |
static int |
CONTENT
Content change detail. |
static int |
CREATE
Create event kind. |
static int |
EVALUATION
Evaluation detail. |
static int |
EVALUATION_IMPLICIT
Evaluation detail. |
private java.lang.Object |
fData
Client defined data field. |
private int |
fDetail
The detail of the event - one of the detail constants defined by this class. |
private int |
fKind
The kind of event - one of the kind constants defined by this class. |
static int |
MODEL_SPECIFIC
Model specific event kind. |
static int |
RESUME
Resume event kind. |
static int |
STATE
State change detail. |
static int |
STEP_END
Step end detail. |
static int |
STEP_INTO
Step start detail. |
static int |
STEP_OVER
Step start detail. |
static int |
STEP_RETURN
Step start detail. |
static int |
SUSPEND
Suspend event kind. |
static int |
TERMINATE
Terminate event kind. |
static int |
UNSPECIFIED
Constant indicating that the kind or detail of a debug event is unspecified. |
| Fields inherited from class java.util.EventObject |
source |
| Constructor Summary | |
DebugEvent(java.lang.Object eventSource,
int kind)
Constructs a new debug event of the given kind with a detail code of UNSPECIFIED. |
|
DebugEvent(java.lang.Object eventSource,
int kind,
int detail)
Constructs a new debug event of the given kind with the given detail. |
|
| Method Summary | |
java.lang.Object |
getData()
Returns this event's application defined data, or null if none |
int |
getDetail()
Returns a constant describing extra detail about the event - either one of the detail constants defined by this class, possibly UNSPECIFIED, or a client defined detail if this is a model specific event. |
int |
getKind()
Returns this event's kind - one of the kind constants defined by this class. |
boolean |
isEvaluation()
Returns whether this event's detail indicates an evaluation. |
boolean |
isStepStart()
Returns whether this event's detail indicates the beginning of a step event. |
void |
setData(java.lang.Object data)
Sets this event's application defined data. |
java.lang.String |
toString()
Converts the event to a String. |
| Methods inherited from class java.util.EventObject |
getSource |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
RESUME
public static final int RESUME
- Resume event kind.
- See Also:
- Constant Field Values
SUSPEND
public static final int SUSPEND
- Suspend event kind.
- See Also:
- Constant Field Values
CREATE
public static final int CREATE
- Create event kind.
- See Also:
- Constant Field Values
TERMINATE
public static final int TERMINATE
- Terminate event kind.
- See Also:
- Constant Field Values
CHANGE
public static final int CHANGE
- Change event kind.
- See Also:
- Constant Field Values
MODEL_SPECIFIC
public static final int MODEL_SPECIFIC
- Model specific event kind. The detail codes
for a model specific event are client defined.
- Since:
- 2.1.2
- See Also:
- Constant Field Values
STEP_INTO
public static final int STEP_INTO
- Step start detail. Indicates a thread was resumed by a step
into action.
- Since:
- 2.0
- See Also:
- Constant Field Values
STEP_OVER
public static final int STEP_OVER
- Step start detail. Indicates a thread was resumed by a step
over action.
- Since:
- 2.0
- See Also:
- Constant Field Values
STEP_RETURN
public static final int STEP_RETURN
- Step start detail. Indicates a thread was resumed by a step
return action.
- Since:
- 2.0
- See Also:
- Constant Field Values
STEP_END
public static final int STEP_END
- Step end detail. Indicates a thread was suspended due
to the completion of a step action.
- See Also:
- Constant Field Values
BREAKPOINT
public static final int BREAKPOINT
- Breakpoint detail. Indicates a thread was suspended by
a breakpoint.
- See Also:
- Constant Field Values
CLIENT_REQUEST
public static final int CLIENT_REQUEST
- Client request detail. Indicates a thread was suspended due
to a client request.
- See Also:
- Constant Field Values
EVALUATION
public static final int EVALUATION
- Evaluation detail. Indicates that a thread was resumed or
suspended to perform an expression evaluation.
- Since:
- 2.0
- See Also:
- Constant Field Values
EVALUATION_IMPLICIT
public static final int EVALUATION_IMPLICIT
- Evaluation detail. Indicates that a thread was resumed or
suspended to perform an implicit expression evaluation.
An implicit evaluation is an evaluation that is performed
as an indirect result of a user action.
Clients may use this detail event to decide whether or not
to alert the user that an evaluation is taking place..
- Since:
- 2.0
- See Also:
- Constant Field Values
STATE
public static final int STATE
- State change detail. Indicates the state of a single
debug element has changed. Only valid for
CHANGEevents.- Since:
- 2.0
- See Also:
- Constant Field Values
CONTENT
public static final int CONTENT
- Content change detail. Indicates the content of a debug element
(and potentially its children) has changed. Only valid for
CHANGEevents.- Since:
- 2.0
- See Also:
- Constant Field Values
UNSPECIFIED
public static final int UNSPECIFIED
- Constant indicating that the kind or detail of a debug
event is unspecified.
- See Also:
- Constant Field Values
fKind
private int fKind
- The kind of event - one of the kind constants defined by
this class.
fDetail
private int fDetail
- The detail of the event - one of the detail constants defined by
this class.
fData
private java.lang.Object fData
- Client defined data field.
- Since:
- 2.1.2
| Constructor Detail |
DebugEvent
public DebugEvent(java.lang.Object eventSource, int kind)
- Constructs a new debug event of the given kind with a detail code of
UNSPECIFIED.
DebugEvent
public DebugEvent(java.lang.Object eventSource, int kind, int detail)
- Constructs a new debug event of the given kind with the given detail.
| Method Detail |
getDetail
public int getDetail()
- Returns a constant describing extra detail about the event - either one
of the detail constants defined by this class, possibly
UNSPECIFIED, or a client defined detail if this is a model specific event.
getKind
public int getKind()
- Returns this event's kind - one of the kind constants defined by this class.
isStepStart
public boolean isStepStart()
- Returns whether this event's detail indicates the
beginning of a step event. This event's detail is one
of
STEP_INTO,STEP_OVER, orSTEP_RETURN.- Since:
- 2.0
isEvaluation
public boolean isEvaluation()
- Returns whether this event's detail indicates an
evaluation. This event's detail is one
of
EVALUATION, orEVALUATION_IMPLICIT.- Since:
- 2.0
setData
public void setData(java.lang.Object data)
- Sets this event's application defined data.
- Since:
- 2.1.2
getData
public java.lang.Object getData()
- Returns this event's application defined data, or
nullif none- Since:
- 2.1.2
toString
public java.lang.String toString()
- Description copied from class:
java.util.EventObject - Converts the event to a String. The format is not specified, but by
observation, the JDK uses:
getClass().getName() + "[source=" + source + "]";.
|
|||||||||
| Home >> All >> org >> eclipse >> debug >> [ core overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC