- すべてのスーパー・インタフェース:
- Mirror
public interface EventRequestManager extends Mirror
EventRequestの作成および削除を管理します。 このインタフェースの単一の実装者は、特定のVMに存在し、VirtualMachine.eventRequestManager()を介してアクセスされます - 導入されたバージョン:
- 1.3
- 関連項目:
- EventRequest,- Event,- BreakpointRequest,- BreakpointEvent,- VirtualMachine
- 
メソッドのサマリー
- 
メソッドの詳細- 
createClassPrepareRequestClassPrepareRequest createClassPrepareRequest()新しい無効なClassPrepareRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- 戻り値:
- 作成されたClassPrepareRequest
 
- 
createClassUnloadRequestClassUnloadRequest createClassUnloadRequest()新しい無効なClassUnloadRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- 戻り値:
- 作成されたClassUnloadRequest
 
- 
createThreadStartRequestThreadStartRequest createThreadStartRequest()新しい無効なThreadStartRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- 戻り値:
- 作成されたThreadStartRequest
 
- 
createThreadDeathRequestThreadDeathRequest createThreadDeathRequest()新しい無効なThreadDeathRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- 戻り値:
- 作成されたThreadDeathRequest
 
- 
createExceptionRequestExceptionRequest createExceptionRequest(ReferenceType refType, boolean notifyCaught, boolean notifyUncaught)新しい無効なExceptionRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。例外イベントとして、特定の例外型およびそのサブクラスを選択できます。 キャッチされる例外、キャッチされない例外、または両方を選択できます。 ただし、例外がスローされる時点で、その例外が本当にキャッチされるかどうかを判断できるとは限りません。 詳細は、 ExceptionEvent.catchLocation()を参照してください。- パラメータ:
- refType- null以外の場合、refTypeのインスタンスである例外が報告されるように指定する。 ノート: これには、サブ型のインスタンスも含まれる。 nullの場合、すべてのインスタンスが報告される
- notifyCaught- trueの場合、キャッチされた例外が報告される。
- notifyUncaught- trueの場合、キャッチされない例外が報告される。
- 戻り値:
- 作成されたExceptionRequest
 
- 
createMethodEntryRequestMethodEntryRequest createMethodEntryRequest()新しい無効なMethodEntryRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- 戻り値:
- 作成されたMethodEntryRequest
 
- 
createMethodExitRequestMethodExitRequest createMethodExitRequest()新しい無効なMethodExitRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- 戻り値:
- 作成されたMethodExitRequest
 
- 
createMonitorContendedEnterRequestMonitorContendedEnterRequest createMonitorContendedEnterRequest()新しい無効なMonitorContendedEnterRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canRequestMonitorEvents()を使用します。- 戻り値:
- 作成されたMonitorContendedEnterRequest
- 例外:
- UnsupportedOperationException- ターゲットVMでこの操作がサポートされていない場合。
- 導入されたバージョン:
- 1.6
 
- 
createMonitorContendedEnteredRequestMonitorContendedEnteredRequest createMonitorContendedEnteredRequest()新しい無効なMonitorContendedEnteredRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canRequestMonitorEvents()を使用します。- 戻り値:
- 作成されたMonitorContendedEnteredRequest
- 例外:
- UnsupportedOperationException- ターゲットVMでこの操作がサポートされていない場合。
- 導入されたバージョン:
- 1.6
 
- 
createMonitorWaitRequestMonitorWaitRequest createMonitorWaitRequest()新しい無効なMonitorWaitRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canRequestMonitorEvents()を使用します。- 戻り値:
- 作成されたMonitorWaitRequest
- 例外:
- UnsupportedOperationException- ターゲットVMでこの操作がサポートされていない場合。
- 導入されたバージョン:
- 1.6
 
- 
createMonitorWaitedRequestMonitorWaitedRequest createMonitorWaitedRequest()新しい無効なMonitorWaitedRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canRequestMonitorEvents()を使用します。- 戻り値:
- 作成されたMonitorWaitedRequest
- 例外:
- UnsupportedOperationException- ターゲットVMでこの操作がサポートされていない場合。
- 導入されたバージョン:
- 1.6
 
- 
createStepRequestStepRequest createStepRequest(ThreadReference thread, int size, int depth)新しい無効なStepRequestを作成します。 このEventRequestManagerが管理するリストに新しいイベント要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。返される要求は、指定された threadでのステップ実行だけを制御します。他のすべてのスレッドは、影響を受けません。StepRequest.STEP_MINのsize値は、コード・インデックスが変更されるたびにステップ・イベントを生成します。 これは、利用可能な最小のステップ・サイズを表し、多くの場合、命令レベルにマップします。StepRequest.STEP_LINEのsize値は、ソース行が変わるたびにステップ・イベントを生成します(行番号情報を入手できる場合)。行番号情報を利入手できない場合は、STEP_MINが代わりに実行されます。 たとえば、VirtualMachine.redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)操作によって廃止されたメソッドが実行されているとき、行番号情報は入手できません。StepRequest.STEP_INTOのdepth値は、呼び出されたすべてのメソッドでステップ・イベントを生成します。StepRequest.STEP_OVERのdepth値は、ステップ・イベントを現在のフレームまたは呼出し側のフレームに制限します。StepRequest.STEP_OUTのdepth値は、ステップ・イベントを呼出し側のフレームだけに制限します。 すべての深さ制限は、ステップが実行される直前の呼出しスタックに対する相対的なものです。保留中ステップ要求は、スレッドごとに1つだけ許可されます。 一般的なデバッガは、最初のステップの検出後にステップ実行を取り消そうとします。 このため、次行のメソッドは、次のようになります。 EventRequestManager mgr = myVM.{@link VirtualMachine#eventRequestManager eventRequestManager}(); StepRequest request = mgr.createStepRequest(myThread, StepRequest.{@link StepRequest#STEP_LINE STEP_LINE}, StepRequest.{@link StepRequest#STEP_OVER STEP_OVER}); request.{@link EventRequest#addCountFilter addCountFilter}(1); // next step only request.enable(); myVM.{@link VirtualMachine#resume resume}();- パラメータ:
- thread- ステップ実行を行うスレッド
- depth- ステップの深さ
- size- ステップ・サイズ
- 戻り値:
- 作成されたStepRequest
- 例外:
- DuplicateRequestException- 指定されたスレッドに保留中ステップ要求がすでに存在する場合。
- IllegalArgumentExceptionsize引数またはdepth引数に無効な値が含まれている場合。
 
- 
createBreakpointRequestBreakpointRequest createBreakpointRequest(Location location)新しい無効なBreakpointRequestを作成します。 指定されたLocationには、有効な(負でない)コード・インデックスが必要です。 このEventRequestManagerが管理するリストに、新しいブレークポイントが追加されます。 1つの場所に複数のブレークポイントを設定可能です。 このイベント要求を有効にするには、EventRequest.enable()を使用します。- パラメータ:
- location- 新しいブレークポイントの位置。
- 戻り値:
- 作成されたBreakpointRequest
- 例外:
- NativeMethodException- 位置がネイティブ・メソッド内の場合。
 
- 
createAccessWatchpointRequestAccessWatchpointRequest createAccessWatchpointRequest(Field field)指定されたフィールドへのアクセスを監視する新しい無効なウォッチポイントを作成します。 このEventRequestManagerが管理するリストに、新しいウォッチポイントが追加されます。 1つのフィールドに複数のウォッチポイントを設定可能です。 このイベント要求を有効にするには、EventRequest.enable()を使用します。この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、 VirtualMachine.canWatchFieldAccess()を使用します。- パラメータ:
- field- 監視するフィールド
- 戻り値:
- 作成されたウォッチポイント
- 例外:
- UnsupportedOperationException- ターゲット仮想マシンがこの操作をサポートしていない場合。
 
- 
createModificationWatchpointRequestModificationWatchpointRequest createModificationWatchpointRequest(Field field)指定されたフィールドへのアクセスを監視する新しい無効なウォッチポイントを作成します。 このEventRequestManagerが管理するリストに、新しいウォッチポイントが追加されます。 1つのフィールドに複数のウォッチポイントを設定可能です。 このイベント要求を有効にするには、EventRequest.enable()を使用します。この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、 VirtualMachine.canWatchFieldModification()を使用します。- パラメータ:
- field- 監視するフィールド
- 戻り値:
- 作成されたウォッチポイント
- 例外:
- UnsupportedOperationException- ターゲット仮想マシンがこの操作をサポートしていない場合。
 
- 
createVMDeathRequestVMDeathRequest createVMDeathRequest()新しい無効なVMDeathRequestを作成します。 このEventRequestManagerが管理するリストに、新しい要求が追加されます。 このイベント要求を有効にするには、EventRequest.enable()を使用します。この要求は(有効な場合)、ターゲットVMの終了時に VMDeathEventが送信されるようにします。VMDeathRequestと中断ポリシー SUSPEND_ALLを一緒に使用することで、VM停止前に着信するSUSPEND_NONEまたはSUSPEND_EVENT_THREADイベントを確実に処理できます。 すべてのイベント処理が、イベント・セットが読み込まれるスレッドと同じスレッドで行われている場合、VMDeathEventを含むEventSetが再開されるまでVMが中断されるので、必要なのは要求を有効にすることだけです。この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、 VirtualMachine.canRequestVMDeathEvent()を使用します。- 戻り値:
- 作成された要求
- 例外:
- UnsupportedOperationException- ターゲットVMでこの操作がサポートされていない場合。
- 導入されたバージョン:
- 1.4
 
- 
deleteEventRequestvoid deleteEventRequest(EventRequest eventRequest)特定のeventRequestを削除します。 指定されたeventRequestは無効化され、このEventRequestManagerが管理する要求リストから削除されます。 eventRequestが削除されると、EventRequest.setEnabled(boolean)などの操作は一切実行できなくなります。実行しようとすると、通常、InvalidRequestStateExceptionがスローされます。 なお、このメソッドは、その他のeventRequestには影響を与えません。このメソッドは基になるイベント要求リストを変更するため、要求アクセサを使って取得したリストから直接削除しようとすると、エラーが発生します。次に例を示します。 Iterator iter = requestManager.stepRequests().iterator(); while (iter.hasNext()) { requestManager.deleteEventRequest(iter.next()); }ConcurrentModificationExceptionが発生することがあります。 代わりに、deleteEventRequests(List)を使用するか、反復前にリストをコピーしてください。- パラメータ:
- eventRequest- 削除するeventRequest
 
- 
deleteEventRequestsvoid deleteEventRequests(List<? extends EventRequest> eventRequests)EventRequestのリストを削除します。- パラメータ:
- eventRequests- 削除するeventRequestのリスト
- 関連項目:
- deleteEventRequest(EventRequest)
 
- 
deleteAllBreakpointsvoid deleteAllBreakpoints()このEventRequestManagerが管理するすべてのブレークポイントを削除します。
- 
stepRequestsList<StepRequest> stepRequests()有効および無効なstepRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのStepRequestオブジェクト。
 
- 
classPrepareRequestsList<ClassPrepareRequest> classPrepareRequests()有効および無効なclassPrepareRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのClassPrepareRequestオブジェクト。
 
- 
classUnloadRequestsList<ClassUnloadRequest> classUnloadRequests()有効および無効なclassUnloadRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのClassUnloadRequestオブジェクト。
 
- 
threadStartRequestsList<ThreadStartRequest> threadStartRequests()有効および無効なthreadStartRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのThreadStartRequestオブジェクト。
 
- 
threadDeathRequestsList<ThreadDeathRequest> threadDeathRequests()有効および無効なthreadDeathRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのThreadDeathRequestオブジェクト。
 
- 
exceptionRequestsList<ExceptionRequest> exceptionRequests()有効および無効なexceptionRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのExceptionRequestオブジェクト。
 
- 
breakpointRequestsList<BreakpointRequest> breakpointRequests()有効および無効なbreakpointRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのBreakpointRequestオブジェクトのリスト。
 
- 
accessWatchpointRequestsList<AccessWatchpointRequest> accessWatchpointRequests()有効および無効なaccessWatchpointRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのAccessWatchpointRequestオブジェクト。
 
- 
modificationWatchpointRequestsList<ModificationWatchpointRequest> modificationWatchpointRequests()有効および無効なmodificationWatchpointRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのModificationWatchpointRequestオブジェクト。
 
- 
methodEntryRequestsList<MethodEntryRequest> methodEntryRequests()有効および無効なmethodEntryRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのMethodEntryRequestオブジェクトのリスト。
 
- 
methodExitRequestsList<MethodExitRequest> methodExitRequests()有効および無効なmethodExitRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのMethodExitRequestオブジェクトのリスト。
 
- 
monitorContendedEnterRequestsList<MonitorContendedEnterRequest> monitorContendedEnterRequests()有効なおよび無効なmonitorContendedEnterRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのMonitorContendedEnterRequestオブジェクトのリスト。
- 導入されたバージョン:
- 1.6
 
- 
monitorContendedEnteredRequestsList<MonitorContendedEnteredRequest> monitorContendedEnteredRequests()有効なおよび無効なmonitorContendedEnteredRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのMonitorContendedEnteredRequestオブジェクトのリスト。
- 導入されたバージョン:
- 1.6
 
- 
monitorWaitRequestsList<MonitorWaitRequest> monitorWaitRequests()有効なおよび無効なmonitorWaitRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのMonitorWaitRequestオブジェクトのリスト。
- 導入されたバージョン:
- 1.6
 
- 
monitorWaitedRequestsList<MonitorWaitedRequest> monitorWaitedRequests()有効なおよび無効なmonitorWaitedRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。- 戻り値:
- すべてのMonitorWaitedRequestオブジェクトのリスト。
- 導入されたバージョン:
- 1.6
 
- 
vmDeathRequestsList<VMDeathRequest> vmDeathRequests()有効および無効なvmDeathRequestsの変更不可能なリストを返します。 このリストはこれらの要求のライブ・ビューなので、要求が追加または削除されると変わります。 ノート: 非要請VMDeathEventに対応する要求はありません。- 戻り値:
- すべてのVMDeathRequestオブジェクトのリスト。
- 導入されたバージョン:
- 1.4
 
 
-