| 
Java Debug Interface | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface EventRequestManager
Manages the creation and deletion of EventRequests. A single 
 implementor of this interface exists in a particuar VM and
 is accessed through VirtualMachine.eventRequestManager()
EventRequest, 
Event, 
BreakpointRequest, 
BreakpointEvent, 
VirtualMachine| Method Summary | |
|---|---|
 List<AccessWatchpointRequest> | 
accessWatchpointRequests()
Return an unmodifiable list of the enabled and disabled access watchpoint requests.  | 
 List<BreakpointRequest> | 
breakpointRequests()
Return an unmodifiable list of the enabled and disabled breakpoint requests.  | 
 List<ClassPrepareRequest> | 
classPrepareRequests()
Return an unmodifiable list of the enabled and disabled class prepare requests.  | 
 List<ClassUnloadRequest> | 
classUnloadRequests()
Return an unmodifiable list of the enabled and disabled class unload requests.  | 
 AccessWatchpointRequest | 
createAccessWatchpointRequest(Field field)
Creates a new disabled watchpoint which watches accesses to the specified field.  | 
 BreakpointRequest | 
createBreakpointRequest(Location location)
Creates a new disabled BreakpointRequest. | 
 ClassPrepareRequest | 
createClassPrepareRequest()
Creates a new disabled ClassPrepareRequest. | 
 ClassUnloadRequest | 
createClassUnloadRequest()
Creates a new disabled ClassUnloadRequest. | 
 ExceptionRequest | 
createExceptionRequest(ReferenceType refType,
                       boolean notifyCaught,
                       boolean notifyUncaught)
Creates a new disabled ExceptionRequest. | 
 MethodEntryRequest | 
createMethodEntryRequest()
Creates a new disabled MethodEntryRequest. | 
 MethodExitRequest | 
createMethodExitRequest()
Creates a new disabled MethodExitRequest. | 
 ModificationWatchpointRequest | 
createModificationWatchpointRequest(Field field)
Creates a new disabled watchpoint which watches accesses to the specified field.  | 
 StepRequest | 
createStepRequest(ThreadReference thread,
                  int size,
                  int depth)
Creates a new disabled StepRequest. | 
 ThreadDeathRequest | 
createThreadDeathRequest()
Creates a new disabled ThreadDeathRequest. | 
 ThreadStartRequest | 
createThreadStartRequest()
Creates a new disabled ThreadStartRequest. | 
 VMDeathRequest | 
createVMDeathRequest()
Creates a new disabled VMDeathRequest. | 
 void | 
deleteAllBreakpoints()
Remove all breakpoints managed by this EventRequestManager.  | 
 void | 
deleteEventRequest(EventRequest eventRequest)
Removes an eventRequest.  | 
 void | 
deleteEventRequests(List<? extends EventRequest> eventRequests)
Removes a list of EventRequests. | 
 List<ExceptionRequest> | 
exceptionRequests()
Return an unmodifiable list of the enabled and disabled exception requests.  | 
 List<MethodEntryRequest> | 
methodEntryRequests()
Return an unmodifiable list of the enabled and disabled method entry requests.  | 
 List<MethodExitRequest> | 
methodExitRequests()
Return an unmodifiable list of the enabled and disabled method exit requests.  | 
 List<ModificationWatchpointRequest> | 
modificationWatchpointRequests()
Return an unmodifiable list of the enabled and disabled modification watchpoint requests.  | 
 List<StepRequest> | 
stepRequests()
Return an unmodifiable list of the enabled and disabled step requests.  | 
 List<ThreadDeathRequest> | 
threadDeathRequests()
Return an unmodifiable list of the enabled and disabled thread death requests.  | 
 List<ThreadStartRequest> | 
threadStartRequests()
Return an unmodifiable list of the enabled and disabled thread start requests.  | 
 List<VMDeathRequest> | 
vmDeathRequests()
Return an unmodifiable list of the enabled and disabled VM death requests.  | 
| Methods inherited from interface com.sun.jdi.Mirror | 
|---|
toString, virtualMachine | 
| Method Detail | 
|---|
ClassPrepareRequest createClassPrepareRequest()
ClassPrepareRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
ClassPrepareRequestClassUnloadRequest createClassUnloadRequest()
ClassUnloadRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
ClassUnloadRequestThreadStartRequest createThreadStartRequest()
ThreadStartRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
ThreadStartRequestThreadDeathRequest createThreadDeathRequest()
ThreadDeathRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
ThreadDeathRequest
ExceptionRequest createExceptionRequest(ReferenceType refType,
                                        boolean notifyCaught,
                                        boolean notifyUncaught)
ExceptionRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
 
 A specific exception type and its subclasses can be selected
 for exception events. Caught exceptions,  uncaught exceptions, 
 or both can be selected. Note, however, that 
 at the time an exception is thrown, it is not always
 possible to determine whether it is truly caught. See 
 ExceptionEvent.catchLocation() for 
 details.
refType - If non-null, specifies that exceptions which are
                instances of refType will be reported. Note: this
                will include instances of sub-types.  If null,
                all instances will be reportednotifyCaught - If true, caught exceptions will be reported.notifyUncaught - If true, uncaught exceptions will be reported.
ExceptionRequestMethodEntryRequest createMethodEntryRequest()
MethodEntryRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
MethodEntryRequestMethodExitRequest createMethodExitRequest()
MethodExitRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
MethodExitRequest
StepRequest createStepRequest(ThreadReference thread,
                              int size,
                              int depth)
StepRequest. 
 The new event request is added to the list managed by this
 EventRequestManager. Use EventRequest.enable() to
 activate this event request.
 
 The returned request will control stepping only in the specified
 thread; all other threads will be unaffected. 
 A sizevalue of StepRequest.STEP_MIN will generate a 
 step event each time the code index changes. It represents the
 smallest step size available and often maps to the instruction
 level.
 A size value of StepRequest.STEP_LINE will generate a 
 step event each time the source line changes unless line number information is not available,
 in which case a STEP_MIN will be done instead.  For example, no line number information is
 available during the execution of a method that has been rendered obsolete by
 by a VirtualMachine.redefineClasses(java.util.Map extends com.sun.jdi.ReferenceType, byte[]>) operation.
 A depth value of StepRequest.STEP_INTO will generate
 step events in any called methods.  A depth value
 of StepRequest.STEP_OVER restricts step events to the current frame
 or caller frames. A depth value of StepRequest.STEP_OUT
 restricts step events to caller frames only. All depth 
 restrictions are relative to the call stack immediately before the
 step takes place. 
 
Only one pending step request is allowed per thread.
 Note that a typical debugger will want to cancel stepping 
 after the first step is detected.  Thus a next line method
 would do the following:
 
 
     EventRequestManager mgr = myVM.
 eventRequestManager();
     StepRequest request = mgr.createStepRequest(myThread, 
                                                 StepRequest.STEP_LINE, 
                                                 StepRequest.STEP_OVER);
     request.addCountFilter(1);  // next step only
     request.enable();
     myVM.resume();
 
thread - the thread in which to stepdepth - the step depthsize - the step size
StepRequest
DuplicateRequestException - if there is already a pending
 step request for the specified thread.
IllegalArgumentException - if the size or depth arguments
 contain illegal values.BreakpointRequest createBreakpointRequest(Location location)
BreakpointRequest. 
 The given Location must have a valid 
 (that is, non-negative) code index. The new 
 breakpoint is added to the list managed by this
 EventRequestManager. Multiple breakpoints at the 
 same location are permitted. Use EventRequest.enable() to
 activate this event request.
location - the location of the new breakpoint.
BreakpointRequest
NativeMethodException - if location is within a native method.AccessWatchpointRequest createAccessWatchpointRequest(Field field)
EventRequest.enable() to
 activate this event request.
 
 Not all target virtual machines support this operation. 
 Use VirtualMachine.canWatchFieldAccess()
 to determine if the operation is supported.
field - the field to watch
UnsupportedOperationException - if 
 the target virtual machine does not support this 
 operation.ModificationWatchpointRequest createModificationWatchpointRequest(Field field)
EventRequest.enable() to
 activate this event request.
 
 Not all target virtual machines support this operation. 
 Use VirtualMachine.canWatchFieldModification()
 to determine if the operation is supported.
field - the field to watch
UnsupportedOperationException - if 
 the target virtual machine does not support this 
 operation.VMDeathRequest createVMDeathRequest()
VMDeathRequest.  
 The new request is added to the list managed by this
 EventRequestManager. 
 Use EventRequest.enable() to
 activate this event request.
 
 This request (if enabled) will cause a 
 VMDeathEvent
 to be sent on termination of the target VM.
 
 A VMDeathRequest with a suspend policy of
 SUSPEND_ALL
 can be used to assure processing of incoming
 SUSPEND_NONE or
 SUSPEND_EVENT_THREAD
 events before VM death.  If all event processing is being
 done in the same thread as event sets are being read,
 enabling the request is all that is needed since the VM
 will be suspended until the EventSet
 containing the VMDeathEvent
 is resumed.
 
 Not all target virtual machines support this operation. 
 Use VirtualMachine.canRequestVMDeathEvent()
 to determine if the operation is supported.
UnsupportedOperationException - if 
 the target VM does not support this 
 operation.void deleteEventRequest(EventRequest eventRequest)
EventRequest.setEnabled(boolean))
 are permitted - attempts to do so will generally cause an
 InvalidRequestStateException. 
 No other eventRequests are effected.
 Because this method changes the underlying lists of event requests, attempting to directly delete from a list returned by a request accessor (e.g. below):
   Iterator iter = requestManager.stepRequests().iterator();
   while (iter.hasNext()) {
      requestManager.deleteEventRequest(iter.next());
  }
 
 may cause a ConcurrentModificationException.
 Instead use
 deleteEventRequests(List)
 or copy the list before iterating.
eventRequest - the eventRequest to removevoid deleteEventRequests(List<? extends EventRequest> eventRequests)
EventRequests.
eventRequests - the list of eventRequests to removedeleteEventRequest(EventRequest)void deleteAllBreakpoints()
deleteEventRequest(EventRequest)List<StepRequest> stepRequests()
StepRequest objects.List<ClassPrepareRequest> classPrepareRequests()
ClassPrepareRequest objects.List<ClassUnloadRequest> classUnloadRequests()
ClassUnloadRequest objects.List<ThreadStartRequest> threadStartRequests()
ThreadStartRequest objects.List<ThreadDeathRequest> threadDeathRequests()
ThreadDeathRequest objects.List<ExceptionRequest> exceptionRequests()
ExceptionRequest objects.List<BreakpointRequest> breakpointRequests()
BreakpointRequest objects.List<AccessWatchpointRequest> accessWatchpointRequests()
AccessWatchpointRequest objects.List<ModificationWatchpointRequest> modificationWatchpointRequests()
ModificationWatchpointRequest objects.List<MethodEntryRequest> methodEntryRequests()
MethodEntryRequest objects.List<MethodExitRequest> methodExitRequests()
MethodExitRequest objects.List<VMDeathRequest> vmDeathRequests()
VMDeathRequest objects.
  | 
Java Debug Interface | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||