|
Java Debug Interface | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
イベントの通知要求を表します。例として、BreakpointRequest
および ExceptionRequest
があります。有効な要求の存在するイベントが発生すると、EventSet
が EventQueue
上に配置されます。既存のイベント要求のコレクションは、EventRequestManager
により管理されます。
イベント要求に対して生成されるイベントの数は、フィルタを使って制御できます。フィルタで、イベントがイベントキューに配置される前に満たさなければならない制限を追加します。ExceptionRequest.addClassFilter(java.lang.String classPattern)
のようなフィルタ追加メソッドに複数の呼び出しをすると、複数のフィルタが使用されます。あるイベントが無効に設定されている間、フィルタはそのイベントに対して一度に 1 つだけ追加されます。複数のフィルタは、カットオフとともに、要求に追加された順序で適用されます。すべてのフィルタ条件を満たすイベントだけがイベントキューに配置されます。
利用可能なフィルタは、イベント要求に応じて異なります。フィルタの例を示します。
ターゲット VM が切断された場合、EventRequest
を引数に取る EventRequest
上の任意のメソッドは、VMDisconnectedException
をスローし、VMDisconnectEvent
が EventQueue
から読み出せるようになります。
EventRequest
を引数に取る EventRequest
上の任意のメソッドは、ターゲット VM がメモリが不足すると VMOutOfMemoryException
をスローします。
BreakpointEvent
,
EventQueue
,
EventRequestManager
フィールドの概要 | |
static int |
SUSPEND_ALL
イベントの発生時に、すべてのスレッドを中断します。 |
static int |
SUSPEND_EVENT_THREAD
イベントの発生時に、イベントを生成したスレッドだけを中断します。 |
static int |
SUSPEND_NONE
イベントの発生時に、どのスレッドも中断しません。 |
メソッドの概要 | |
void |
addCountFilter(int count)
要求されたイベントが、指定された回数のイベント発生後に最大 1 回レポートされるように制限します。 |
void |
disable()
と同様です。 |
void |
enable()
と同様です。 |
Object |
getProperty(Object key)
指定されたキーを持つプロパティの値を返します。 |
boolean |
isEnabled()
このイベント要求が現在有効かどうかを判定します。 |
void |
putProperty(Object key,
Object value)
この要求に任意のキーと値の「プロパティ」を追加します。 |
void |
setEnabled(boolean val)
このイベント要求を有効または無効にします。 |
void |
setSuspendPolicy(int policy)
ターゲット VM 内で要求されたイベントが発生する際に中断するスレッドを判定します。 |
int |
suspendPolicy()
ターゲット VM 内で要求されたイベントが発生する際に中断するスレッドを規定した値を返します。 |
インタフェース com.sun.jdi.Mirror から継承したメソッド |
toString, virtualMachine |
フィールドの詳細 |
public static final int SUSPEND_NONE
public static final int SUSPEND_EVENT_THREAD
public static final int SUSPEND_ALL
メソッドの詳細 |
public boolean isEnabled()
true
、それ以外の場合は false
public void setEnabled(boolean val)
EventRequestManager.breakpointRequests()
などのイベント要求リスト内に含まれます。
val
- イベント要求を有効にする場合は true
、それ以外の場合は false
InvalidRequestStateException
- 要求が削除された場合
IllegalThreadStateException
- このイベント要求が StepRequest であり、val
に true
が指定され、この要求が指定するスレッドがすでに終了している場合public void enable()
setEnabled(true)
と同様です。
InvalidRequestStateException
- 要求が削除された場合
IllegalThreadStateException
- このイベント要求が StepRequest であり、この要求が指定するスレッドがすでに終了している場合public void disable()
setEnabled(false)
と同様です。
InvalidRequestStateException
- 要求が削除された場合public void addCountFilter(int count)
count - 1
回では、イベントはレポートされません。1 回限りのイベントを要求するには、カウントに 1 を指定してこのメソッドを呼び出します。
カウントが 0 になると、この要求内のその後のフィルタすべてが適用されます。これらのフィルタのどれもイベントを抑制しない場合、イベントがレポートされます。それ以外の場合、イベントはレポートされません。どちらの場合にも、その後のイベントはこの要求に対してレポートされません。
count
- イベントを生成する前の発生回数
InvalidRequestStateException
- この要求が有効な場合、または削除された場合。フィルタは無効な要求にだけ追加できる
IllegalArgumentException
- count
が 1 回未満の場合public void setSuspendPolicy(int policy)
SUSPEND_ALL
を使用します (デフォルト)。イベントを生成したスレッドだけを中断する場合は SUSPEND_EVENT_THREAD
を使用します。スレッドを中断しない場合は SUSPEND_NONE
を使用します。
イベントを介したスレッドの中断は、明示的に要求された中断と同一の機能を保持します。詳細は、ThreadReference.suspend()
および VirtualMachine.suspend()
を参照してください。
InvalidRequestStateException
- この要求が現在有効な場合、または削除された場合。中断ポリシーは無効な要求にだけ設定できるpublic int suspendPolicy()
SUSPEND_ALL
、SUSPEND_EVENT_THREAD
、または SUSPEND_NONE
です。
public void putProperty(Object key, Object value)
値が null の場合、このメソッドはプロパティを削除します。
get/putProperty
メソッドは、インスタンスごとの小規模なマップへのアクセスを提供します。これを
Properties
と混同しないでください。
public Object getProperty(Object key)
putProperty(java.lang.Object, java.lang.Object)
を使って追加されたプロパティだけが、null 以外の値を返します。
putProperty(java.lang.Object, java.lang.Object)
|
Java Debug Interface | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |