Spec-Zone.ru › OpenJDK 24

Интерфейс EventRequestManager

Все суперинтерфейсы:
Mirror
public interface EventRequestManager extends Mirror
Управляет созданием и удалением EventRequest. Единственный реализующий этот интерфейс объект существует в конкретной виртуальной машине и доступен через VirtualMachine.eventRequestManager()
С момента:
1.3
См. также:
  • EventRequest
  • Event
  • BreakpointRequest
  • BreakpointEvent
  • VirtualMachine

Краткое описание методов

Модификатор и тип Метод Описание
List<AccessWatchpointRequest> accessWatchpointRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов для отладки точек доступа.
List<BreakpointRequest> breakpointRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на точки останова.
List<ClassPrepareRequest> classPrepareRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на подготовку класса.
List<ClassUnloadRequest> classUnloadRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на разгрузку класса.
AccessWatchpointRequest createAccessWatchpointRequest(Field field)
Создаёт новый отключенный контрольный пункт, который отслеживает доступ к указанному полю.
BreakpointRequest createBreakpointRequest(Location location)
Создаёт новый отключенный запрос на BreakpointRequest.
ClassPrepareRequest createClassPrepareRequest()
Создаёт новый отключенный запрос на ClassPrepareRequest.
ClassUnloadRequest createClassUnloadRequest()
Создаёт новый отключенный запрос на ClassUnloadRequest.
ExceptionRequest createExceptionRequest(ReferenceType refType, boolean notifyCaught, boolean notifyUncaught)
Создаёт новый отключенный запрос на ExceptionRequest.
MethodEntryRequest createMethodEntryRequest()
Создаёт новый отключенный запрос на MethodEntryRequest.
MethodExitRequest createMethodExitRequest()
Создаёт новый отключенный запрос на MethodExitRequest.
ModificationWatchpointRequest createModificationWatchpointRequest(Field field)
Создаёт новый отключенный контрольный пункт, который отслеживает доступ к указанному полю.
MonitorContendedEnteredRequest createMonitorContendedEnteredRequest()
Создаёт новый отключенный запрос на MonitorContendedEnteredRequest.
MonitorContendedEnterRequest createMonitorContendedEnterRequest()
Создаёт новый отключенный запрос на MonitorContendedEnterRequest.
MonitorWaitedRequest createMonitorWaitedRequest()
Создаёт новый отключенный запрос на MonitorWaitedRequest.
MonitorWaitRequest createMonitorWaitRequest()
Создаёт новый отключенный запрос на MonitorWaitRequest.
StepRequest createStepRequest(ThreadReference thread, int size, int depth)
Создаёт новый отключенный запрос на StepRequest.
ThreadDeathRequest createThreadDeathRequest()
Создаёт новый отключенный запрос на ThreadDeathRequest.
ThreadStartRequest createThreadStartRequest()
Создаёт новый отключенный запрос на ThreadStartRequest.
VMDeathRequest createVMDeathRequest()
Создаёт новый отключенный запрос на VMDeathRequest.
void deleteAllBreakpoints()
Удаляет все точки останова, управляемые этим EventRequestManager.
void deleteEventRequest(EventRequest eventRequest)
Удаляет eventRequest.
void deleteEventRequests(List<? extends EventRequest> eventRequests)
Удаляет список EventRequest.
List<ExceptionRequest> exceptionRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на исключения.
List<MethodEntryRequest> methodEntryRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на вход в метод.
List<MethodExitRequest> methodExitRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на выход из метода.
List<ModificationWatchpointRequest> modificationWatchpointRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на отладку точек модификации.
List<MonitorContendedEnteredRequest> monitorContendedEnteredRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на конкурирующие входные события монитора.
List<MonitorContendedEnterRequest> monitorContendedEnterRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на конкурирующие события входа в монитор.
List<MonitorWaitedRequest> monitorWaitedRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на ожидание монитора.
List<MonitorWaitRequest> monitorWaitRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на ожидание монитора.
List<StepRequest> stepRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на шаг.
List<ThreadDeathRequest> threadDeathRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на смерть потока.
List<ThreadStartRequest> threadStartRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на запуск потока.
List<VMDeathRequest> vmDeathRequests()
Возвращает список (не изменяемый) разрешенных и запрещенных запросов на смерть виртуальной машины.

Методы, объявленные в интерфейсе com.sun.jdi.Mirror

toString, virtualMachine

Подробное описание методов

createClassPrepareRequest

ClassPrepareRequest createClassPrepareRequest()
Создаёт новый отключённый ClassPrepareRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.
Возвращает:
созданный ClassPrepareRequest

createClassUnloadRequest

ClassUnloadRequest createClassUnloadRequest()
Создаёт новый отключённый ClassUnloadRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.
Возвращает:
созданный ClassUnloadRequest

createThreadStartRequest

ThreadStartRequest createThreadStartRequest()
Создаёт новый отключённый ThreadStartRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.
Возвращает:
созданный ThreadStartRequest

createThreadDeathRequest

ThreadDeathRequest createThreadDeathRequest()
Создаёт новый отключённый ThreadDeathRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.
Возвращает:
созданный ThreadDeathRequest

createExceptionRequest

ExceptionRequest createExceptionRequest(ReferenceType refType, boolean notifyCaught, boolean notifyUncaught)
Создаёт новый отключённый ExceptionRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.

Можно выбрать определённый тип исключения и его подклассы для событий исключения. Можно выбрать перехваченные исключения, непроработанные исключения или оба типа. Однако в момент возникновения исключения не всегда можно определить, действительно ли оно перехвачено. Дополнительную информацию см. в ExceptionEvent.catchLocation().

Параметры:
refType - Если не равно null, указывает, что будут сообщаться исключения, которые являются экземплярами refType. Примечание: это будет включать экземпляры подтипов. Если равно null, будут сообщаться все экземпляры.
notifyCaught - Если true, будут сообщаться перехваченные исключения.
notifyUncaught - Если true, будут сообщаться непроработанные исключения.
Возвращает:
созданный ExceptionRequest

createMethodEntryRequest

MethodEntryRequest createMethodEntryRequest()
Создаёт новый отключённый MethodEntryRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.
Возвращает:
созданный MethodEntryRequest

createMethodExitRequest

MethodExitRequest createMethodExitRequest()
Создаёт новый отключённый MethodExitRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие.
Возвращает:
созданный MethodExitRequest

createMonitorContendedEnterRequest

MonitorContendedEnterRequest createMonitorContendedEnterRequest()
Создаёт новый отключённый MonitorContendedEnterRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие. Данная операция не поддерживается во всех виртуальных машинах-целях. Используйте VirtualMachine.canRequestMonitorEvents() для определения поддержки операции.
Возвращает:
созданный MonitorContendedEnterRequest
Исключения:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.
С:
1.6

createMonitorContendedEnteredRequest

MonitorContendedEnteredRequest createMonitorContendedEnteredRequest()
Создаёт новый отключённый MonitorContendedEnteredRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие. Данная операция не поддерживается во всех виртуальных машинах-целях. Используйте VirtualMachine.canRequestMonitorEvents() для определения поддержки операции.
Возвращает:
созданный MonitorContendedEnteredRequest
Исключения:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.
С:
1.6

createMonitorWaitRequest

MonitorWaitRequest createMonitorWaitRequest()
Создаёт новый отключённый MonitorWaitRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие. Данная операция не поддерживается во всех виртуальных машинах-целях. Используйте VirtualMachine.canRequestMonitorEvents() для определения поддержки операции.
Возвращает:
созданный MonitorWaitRequest
Исключения:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.
С:
1.6

createMonitorWaitedRequest

MonitorWaitedRequest createMonitorWaitedRequest()
Создаёт новый отключённый MonitorWaitedRequest. Новый запрос на событие добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable(), чтобы активировать этот запрос на событие. Данная операция не поддерживается во всех виртуальных машинах-целях. Используйте VirtualMachine.canRequestMonitorEvents() для определения поддержки операции.
Возвращает:
созданный MonitorWaitedRequest
Исключения:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.
С:
1.6

createStepRequest

StepRequest createStepRequest(ThreadReference thread, int size, int depth)
Создаёт новый отключённый StepRequest. Новый запрос события добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable() для активации этого запроса события.

Возвращаемый запрос будет контролировать выполнение шага только в указанной thread; все остальные потоки останутся без изменений. Значение size, равное StepRequest.STEP_MIN, сгенерирует событие шага каждый раз, когда изменяется индекс кода. Оно представляет наименьший размер шага, доступный и часто сопоставляется с уровнем инструкции. Значение size, равное StepRequest.STEP_LINE, сгенерирует событие шага каждый раз, когда изменяется строка исходного кода, если информация о номере строки недоступна, в этом случае будет выполнен шаг STEP_MIN. Например, информация о номере строки недоступна во время выполнения метода, который стал устаревшим из-за операции VirtualMachine.redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>). Значение depth, равное StepRequest.STEP_INTO, сгенерирует события шага в любых вызываемых методах. Значение depth, равное StepRequest.STEP_OVER, ограничивает события шага текущей рамкой или вызывающими рамками. Значение depth, равное StepRequest.STEP_OUT, ограничивает события шага только вызывающими рамками. Все ограничения глубины относительны к стеку вызовов непосредственно перед выполнением шага.

Разрешается только один ожидающий запрос шага на поток.

Обратите внимание, что типичный отладчик захочет отменить выполнение шага после обнаружения первого шага. Таким образом, метод следующей строки выполнит следующее:


     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}();
 
Parameters:
thread - поток, в котором нужно выполнить шаг
size - размер шага
depth - глубина шага
Returns:
созданный StepRequest
Throws:
DuplicateRequestException - если для указанного потока уже существует ожидающий запрос шага.
IllegalArgumentException - если аргументы размера или глубины содержат недопустимые значения.

createBreakpointRequest

BreakpointRequest createBreakpointRequest(Location location)
Создаёт новый отключённый BreakpointRequest. Указанный Location должен иметь допустимый (то есть неотрицательный) индекс кода. Новый брейкпоинт добавляется в список, управляемый этим EventRequestManager. Разрешается несколько брейкпоинтов в одном и том же месте. Используйте EventRequest.enable() для активации этого запроса события.
Parameters:
location - расположение нового брейкпоинта.
Returns:
созданный BreakpointRequest
Throws:
NativeMethodException - если расположение находится в методе нативного кода.

createAccessWatchpointRequest

AccessWatchpointRequest createAccessWatchpointRequest(Field field)
Создаёт новый отключённый точку останова, которая отслеживает доступ к указанному полю. Новая точка останова добавляется в список, управляемый этим EventRequestManager. Разрешается несколько точек останова на одном и том же поле. Используйте EventRequest.enable() для активации этого запроса события.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canWatchFieldAccess() для определения поддержки операции.

Parameters:
field - поле для отслеживания
Returns:
созданная точка останова
Throws:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.

createModificationWatchpointRequest

ModificationWatchpointRequest createModificationWatchpointRequest(Field field)
Создаёт новую отключённую точку останова, которая отслеживает доступ к указанному полю. Новая точка останова добавляется в список, управляемый этим EventRequestManager. Разрешается несколько точек останова на одном и том же поле. Используйте EventRequest.enable() для активации этого запроса события.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canWatchFieldModification() для определения поддержки операции.

Parameters:
field - поле для отслеживания
Returns:
созданная точка останова
Throws:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.

createVMDeathRequest

VMDeathRequest createVMDeathRequest()
Создаёт новый отключённый VMDeathRequest. Новый запрос добавляется в список, управляемый этим EventRequestManager. Используйте EventRequest.enable() для активации этого запроса события.

Этот запрос (если он активирован) вызовет VMDeathEvent при завершении целевой виртуальной машины.

VMDeathRequest с политикой приостановки SUSPEND_ALL может использоваться для обеспечения обработки входящих SUSPEND_NONE или SUSPEND_EVENT_THREAD событий до смерти виртуальной машины. Если вся обработка событий выполняется в том же потоке, что и чтение наборов событий, для включения запроса достаточно, так как виртуальная машина будет приостановлена до возобновления EventSet, содержащего VMDeathEvent.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canRequestVMDeathEvent() для определения поддержки операции.

Returns:
созданный запрос
Throws:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает эту операцию.
Since:
1.4

deleteEventRequest

void deleteEventRequest(EventRequest eventRequest)
Удаляет EventRequest. EventRequest отключается и удаляется из запросов, управляемых этим EventRequestManager. После удаления EventRequest запрещены любые операции (например, EventRequest.setEnabled(boolean)) - попытки сделать это, как правило, вызовут InvalidRequestStateException. Другие eventRequests не затрагиваются.

Поскольку этот метод изменяет базовые списки запросов событий, попытка прямого удаления из списка, возвращаемого методом доступа к запросу (например, ниже):

   Iterator iter = requestManager.stepRequests().iterator();
   while (iter.hasNext()) {
      requestManager.deleteEventRequest(iter.next());
  }
 
может вызвать ConcurrentModificationException. Вместо этого используйте deleteEventRequests(List) или скопируйте список перед итерацией.
Parameters:
eventRequest - eventRequest для удаления

deleteEventRequests

void deleteEventRequests(List<? extends EventRequest> eventRequests)
Удаляет список EventRequest.
Parameters:
eventRequests - список eventRequests для удаления
See Also:
  • deleteEventRequest(EventRequest)

deleteAllBreakpoints

void deleteAllBreakpoints()
Удаляет все брейкпоинты, управляемые этим EventRequestManager.
See Also:
  • deleteEventRequest(EventRequest)

stepRequests

List<StepRequest> stepRequests()
Возвращает список, не допускающий изменения, включённых и отключённых запросов шага. Этот список является текущим отображением этих запросов, и, следовательно, он изменяется по мере добавления и удаления запросов.
Returns:
все объекты StepRequest.

classPrepareRequests

List<ClassPrepareRequest> classPrepareRequests()
Возвращает список, не допускающий изменения, включённых и отключённых запросов подготовки класса. Этот список является текущим отображением этих запросов, и, следовательно, он изменяется по мере добавления и удаления запросов.
Returns:
все объекты ClassPrepareRequest.

classUnloadRequests

List<ClassUnloadRequest> classUnloadRequests()
Возвращает список, не допускающий изменения, включённых и отключённых запросов разгрузки класса. Этот список является текущим отображением этих запросов, и, следовательно, он изменяется по мере добавления и удаления запросов.
Returns:
все объекты ClassUnloadRequest.

Запросы на запуск потоков

List<ThreadStartRequest> threadStartRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на запуск потоков. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
все объекты ThreadStartRequest.

Запросы на завершение потоков

List<ThreadDeathRequest> threadDeathRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на завершение потоков. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
все объекты ThreadDeathRequest.

Запросы на исключения

List<ExceptionRequest> exceptionRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на исключения. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
все объекты ExceptionRequest.

Запросы на точки останова

List<BreakpointRequest> breakpointRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на точки останова. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов BreakpointRequest.

Запросы на точки останова доступа

List<AccessWatchpointRequest> accessWatchpointRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на точки останова доступа. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
все объекты AccessWatchpointRequest.

Запросы на точки останова модификации

List<ModificationWatchpointRequest> modificationWatchpointRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на точки останова модификации. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
все объекты ModificationWatchpointRequest.

Запросы на вход в методы

List<MethodEntryRequest> methodEntryRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на вход в методы. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов MethodEntryRequest.

Запросы на выход из методов

List<MethodExitRequest> methodExitRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на выход из методов. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов MethodExitRequest.

Запросы на конкурентный вход в монитор

List<MonitorContendedEnterRequest> monitorContendedEnterRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на конкурентный вход в монитор. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов MonitorContendedEnterRequest.
С момента:
1.6

Запросы на конкурентный вход в монитор (завершённый)

List<MonitorContendedEnteredRequest> monitorContendedEnteredRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на конкурентный вход в монитор (завершённый). Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов MonitorContendedEnteredRequest.
С момента:
1.6

Запросы на ожидание монитора

List<MonitorWaitRequest> monitorWaitRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на ожидание монитора. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов MonitorWaitRequest.
С момента:
1.6

Запросы на ожидание монитора (завершённые)

List<MonitorWaitedRequest> monitorWaitedRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на ожидание монитора (завершённые). Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов.
Возвращает:
список всех объектов MonitorWaitedRequest.
С момента:
1.6

Запросы на завершение виртуальной машины

List<VMDeathRequest> vmDeathRequests()
Возвращает список (неизменяемый) разрешенных и запрещенных запросов на завершение виртуальной машины. Этот список является динамическим отображением этих запросов, поэтому изменяется по мере добавления и удаления запросов. Примечание: неявное событие VMDeathEvent не имеет соответствующего запроса.
Возвращает:
список всех объектов VMDeathRequest.
С момента:
1.4

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/jdk.jdi/com/sun/jdi/request/EventRequestManager.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API