Модуль jdk.jdi
Определяет интерфейс Java Debug Interface.
Интерфейс отладки Java (JDI) — это высокоуровневый API Java, предоставляющий информацию, полезную для отладчиков и аналогичных систем, которым необходим доступ к рабочему состоянию виртуальной машины (обычно удаленной).
JDI предоставляет интроспективный доступ к состоянию работающей виртуальной машины, классам, массивам, интерфейсам и примитивным типам, а также экземплярам этих типов.
JDI также предоставляет явный контроль над выполнением виртуальной машины. Возможность приостановки и возобновления потоков, установка точек останова, точек наблюдения и т. д. Уведомления об исключениях, загрузке классов, создании потоков и т. д. Возможность инспектировать состояние приостановленного потока, локальные переменные, стек вызовов и т. д.
JDI — это самый верхний уровень архитектуры отладчика Java Platform Debugger Architecture (JPDA).
В этот модуль включен простой отладчик командной строки, jdb.
Глобальные исключения
В этом разделе описываются исключения, которые применяются ко всему API и, следовательно, не документируются в отдельных методах.
Любой метод объекта
Mirror, который принимаетMirrorв качестве параметра напрямую или косвенно (например, как элемент вList), выбросит исключениеVMMismatchException, если зеркала относятся к различным виртуальным машинам.Любой метод, который принимает объект
Objectв качестве параметра, выбросит исключениеNullPointerException, если в качестве параметра передано значение null, напрямую или косвенно — если null явно не указан как допустимый параметр.
ПРИМЕЧАНИЕ: исключения ниже могут быть выброшены всякий раз, когда выполняются указанные условия, но гарантия их выброса существует только тогда, когда не может быть возвращено корректное значение.
Любой метод объекта
ObjectReference,ReferenceType,EventRequest,StackFrameилиVirtualMachine, или который принимает один из этих объектов напрямую или косвенно в качестве параметра, может выбросить исключениеVMDisconnectedException, если целевая виртуальная машина отключена, и событиеVMDisconnectEventбыло прочитано или доступно для чтения из очереди событийEventQueue.Любой метод объекта
ObjectReference,ReferenceType,EventRequest,StackFrameилиVirtualMachine, или который принимает один из этих объектов напрямую или косвенно в качестве параметра, может выбросить исключениеVMOutOfMemoryException, если у целевой виртуальной машины закончилась память.Любой метод объекта
ObjectReferenceили принимающийObjectReferenceв качестве параметра напрямую или косвенно, может выбросить исключениеObjectCollectedException, если отражаемый объект был удален сборщиком мусора.Любой метод объекта
ReferenceTypeили принимающийReferenceTypeв качестве параметра напрямую или косвенно, может выбросить исключениеObjectCollectedException, если отражаемый тип был загружен.
- Граф модулей:
- С версии:
- 9
- См. также:
- Архитектура отладчика Java Platform Debugger Architecture (JPDA)
Пакеты
| Пакет | Описание |
|---|---|
| com.sun.jdi | Это основной пакет интерфейса Java Debug Interface (JDI). Он определяет зеркала для значений, типов и самой целевой виртуальной машины, а также средства подготовки. |
| com.sun.jdi.connect | Этот пакет определяет соединения между виртуальной машиной, использующей JDI, и целевой виртуальной машиной. |
| com.sun.jdi.connect.spi | Этот пакет включает интерфейсы и классы, используемые для разработки новых реализаций |
| com.sun.jdi.event | Этот пакет определяет события JDI и обработку событий. |
| com.sun.jdi.request | Этот пакет используется для запроса отправки события JDI при определенных условиях. |
Сервисы
| Тип | Описание |
|---|---|
| Connector |
| Тип | Описание |
|---|---|
| Connector | Метод подключения между отладчиком и целевой виртуальной машиной. |
| TransportService | Сервис транспорта для подключения между отладчиком и целевой виртуальной машиной. |
© 1993, 2020, 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://docs.oracle.com/en/java/javase/11/docs/api/jdk.jdi/module-summary.html