- すべてのスーパー・インタフェース:
Mirror
- 既知のすべてのサブインタフェース:
AccessWatchpointRequest,BreakpointRequest,ClassPrepareRequest,ClassUnloadRequest,ExceptionRequest,MethodEntryRequest,MethodExitRequest,ModificationWatchpointRequest,MonitorContendedEnteredRequest,MonitorContendedEnterRequest,MonitorWaitedRequest,MonitorWaitRequest,StepRequest,ThreadDeathRequest,ThreadStartRequest,VMDeathRequest,WatchpointRequest
BreakpointRequestやExceptionRequestがあります。 有効な要求が存在するイベントが発生すると、EventSetがEventQueueに置かれます。 既存のイベント要求のコレクションは、EventRequestManagerによって管理されます。
イベント要求のために生成されるイベントの数は、フィルタを使って制御できます。 フィルタは、イベントがイベント・キューに置かれる前に満たす必要がある追加制約を提供します。 ExceptionRequest.addClassFilter(java.lang.String classPattern)などのフィルタ追加メソッドを複数回呼び出すことによって、複数のフィルタを使用できます。 フィルタはイベントに一度に1つ追加されます(イベントが無効のときのみ)。 複数のフィルタは、カット・オフ、かつ要求に追加された順序で適用されます。 すべてのフィルタを満たすイベントだけがイベント・キューに置かれます。
利用可能なフィルタのセットは、イベント要求に応じて異なります。フィルタの例を示します。
- スレッド・フィルタは、イベントがどのスレッドのために生成されるかを制御できる。
- クラス・フィルタは、イベントがどのクラスで発生するかを制御できる。
- インスタンス・フィルタは、イベントがどのインスタンスで発生するかを制御できる。
- カウント・フィルタは、イベントが何回報告されるかを制御できる。
ターゲットVMが切断されていて、VMDisconnectEventがEventQueueから読み出されたか読出せる場合は、EventRequestをパラメータとして取るEventRequest上のメソッドはVMDisconnectedExceptionをスローします。
EventRequestをパラメータとして取るEventRequest上のメソッドは、ターゲットVMのメモリーが不足した場合にVMOutOfMemoryExceptionをスローします。
- 導入されたバージョン:
- 1.3
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intイベントの発生時に、すべてのスレッドを中断します。static final intイベントの発生時に、イベントを生成したスレッドだけを中断します。static final intイベントの発生時に、どのスレッドも中断しません。 -
メソッドのサマリー
修飾子と型メソッド説明voidaddCountFilter(int count) 要求されたイベントが報告される回数を最大で、指定された回数発生したあと1回に制限する。voiddisable()setEnabled(false)と同じです。voidenable()setEnabled(true)と同じです。getProperty(Object key) 指定されたキーを持つプロパティの値を返します。booleanこのイベント要求が現在有効かどうかを判定します。voidputProperty(Object key, Object value) この要求に任意のキーと値の「プロパティ」を追加します。voidsetEnabled(boolean val) このイベント要求を有効または無効にします。voidsetSuspendPolicy(int policy) ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを決定します。intターゲットVM内で要求されたイベントが発生する際に中断するスレッドを示す値を返します。インタフェースcom.sun.jdi.Mirrorで宣言されたメソッド
toString, virtualMachine
-
フィールド詳細
-
SUSPEND_NONE
static final int SUSPEND_NONEイベントの発生時に、どのスレッドも中断しません。- 関連項目:
-
SUSPEND_EVENT_THREAD
static final int SUSPEND_EVENT_THREADイベントの発生時に、イベントを生成したスレッドだけを中断します。- 関連項目:
-
SUSPEND_ALL
static final int SUSPEND_ALLイベントの発生時に、すべてのスレッドを中断します。- 関連項目:
-
-
メソッドの詳細
-
isEnabled
boolean isEnabled()このイベント要求が現在有効かどうかを判定します。- 戻り値:
- 有効な場合は
true、そうでない場合はfalse。
-
setEnabled
void setEnabled(boolean val) このイベント要求を有効または無効にします。 このイベント要求が無効な間、このイベント要求は無視され、ターゲットVMはそのスレッドがこのイベント要求に達した場合にも停止しません。 無効なイベント要求はそれでも存在しており、EventRequestManager.breakpointRequests()などのイベント要求リストに含まれています。- パラメータ:
val- イベント要求を有効にする場合はtrue、それ以外の場合はfalse。- スロー:
InvalidRequestStateException- この要求が削除されている場合。IllegalThreadStateException- これがStepRequestの場合、valはtrueで、リクエストで指定されたスレッドは終了しているか、まだ開始されていません。
-
enable
void enable()setEnabled(true)と同じです。- スロー:
InvalidRequestStateException- この要求が削除されている場合。IllegalThreadStateException- これがStepRequestで、リクエストで指定されたスレッドが終了したか、まだ開始されていない場合。
-
disable
void disable()setEnabled(false)と同じです。- スロー:
InvalidRequestStateException- この要求が削除されている場合。
-
addCountFilter
void addCountFilter(int count) 要求されたイベントが報告される回数を最大で、指定された回数発生したあと1回に制限する。 このフィルタが最初にcount - 1回に達する時点までは、イベントはレポートされない。 1回かぎりのイベントを要求するには、このメソッドをカウント1で呼び出せばよい。カウントが0に達したあとは、この要求内の続くフィルタが適用される。 それらのフィルタがいずれもイベントを抑制しない場合、そのイベントはレポートされる。 そうでない場合、イベントはレポートされない。 どちらの場合にも、この要求に対して、それ以降のイベントがレポートされることはない。
- パラメータ:
count- イベントを生成する前の発生数。- スロー:
InvalidRequestStateException- この要求が現在有効になっている場合、または削除されている場合。 フィルタは無効な要求にだけ追加できる。IllegalArgumentException-countが1より小さい場合。
-
setSuspendPolicy
void setSuspendPolicy(int policy) ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを決定します。 ターゲットVM内のすべてのスレッドを中断する場合はSUSPEND_ALLを使用します(デフォルト)。 イベントを生成したスレッドだけを中断する場合はSUSPEND_EVENT_THREADを使用します。 スレッドを中断しない場合は、SUSPEND_NONEを使用します。イベントに基づくスレッドの中断は、明示的に要求された中断と同じ機能です。 詳細は、
ThreadReference.suspend()およびVirtualMachine.suspend()を参照してください。- パラメータ:
policy- 選択された中断ポリシー。- スロー:
InvalidRequestStateException- この要求が現在有効になっている場合、または削除されている場合。 中断ポリシーは無効な要求にだけ設定できる。IllegalArgumentException- policy引数に不正な値が含まれている場合。
-
suspendPolicy
int suspendPolicy()ターゲットVM内で要求されたイベントが発生する際に中断するスレッドを示す値を返します。 戻り値は、SUSPEND_ALL、SUSPEND_EVENT_THREAD、またはSUSPEND_NONEです。- 戻り値:
- この要求の現在の中断モード
-
putProperty
この要求に任意のキーと値の「プロパティ」を追加します。 JDIのクライアントは、アプリケーション情報を要求に関連付けるためにこのプロパティを使用できます。これらのクライアント設定プロパティは、JDIにより内部的に使用されることはありません。get/putPropertyメソッドは、インスタンスごとの小規模なマップへのアクセスを提供します。 これをPropertiesと混同しないでください。valueがnullの場合、このメソッドはプロパティを削除します。
- 関連項目:
-
getProperty
指定されたキーを持つプロパティの値を返します。putProperty(java.lang.Object, java.lang.Object)で追加されたプロパティだけがnull以外の値を返します。- 戻り値:
- このプロパティの値またはnull
- 関連項目:
-