Module jdk.jdi
Java调试接口(JDI)是一个高级Java API,为调试器和类似系统提供有用的信息,这些系统需要访问(通常是远程)虚拟机的运行状态。
JDI提供了对运行中虚拟机状态、类、数组、接口和基本类型以及这些类型的实例的内省访问。
JDI还提供了对虚拟机执行的显式控制。能够暂停和恢复线程,并设置断点、监视点等。通知异常、类加载、线程创建等。检查暂停线程的状态、局部变量、堆栈回溯等的能力。
JDI是Java平台调试器架构(JPDA)的最高层。
此模块包括一个简单的命令行调试器,jdb。
全局异常
本节记录适用于整个API的异常,因此不会在单独的方法中进行记录。
注意:下面的异常可能在满足指定条件时抛出,但仅当无法返回有效结果时才保证抛出。任何在
Mirror
上直接或间接地(例如,作为List
中的元素)接受Mirror
作为参数的方法,如果镜像来自不同的虚拟机,则会抛出VMMismatchException
。任何接受
Object
作为参数的方法,如果直接或间接传递了null,则会抛出NullPointerException
,除非明确将null作为有效参数进行了说明。
在
ObjectReference
、ReferenceType
、EventRequest
、StackFrame
或VirtualMachine
上的任何方法,或者直接或间接地接受其中之一作为参数的方法,如果目标虚拟机已断开连接并且VMDisconnectEvent
已被读取或可从EventQueue
中读取,则可能抛出VMDisconnectedException
。在
ObjectReference
、ReferenceType
、EventRequest
、StackFrame
或VirtualMachine
上的任何方法,或者直接或间接地接受其中之一作为参数的方法,如果目标虚拟机已耗尽内存,则可能抛出VMOutOfMemoryException
。在
ObjectReference
上的任何方法,或者直接或间接地接受ObjectReference
作为参数的方法,如果镜像对象已被垃圾回收,则可能抛出ObjectCollectedException
。在
ReferenceType
上的任何方法,或者直接或间接地接受ReferenceType
作为参数的方法,如果镜像类型已被卸载,则可能抛出ObjectCollectedException
。
- 模块图:
-
- 工具指南:
- jdb
- 自JDK 9起:
- 9
- 参见:
-
Packages
ExportsPackageDescription这是Java调试接口(JDI)的核心包,它定义了值、类型和目标VirtualMachine本身的镜像,以及引导设施。该包定义了使用JDI和目标虚拟机之间的连接。该包包括用于开发新的TransportService
实现的接口和类。该包定义了JDI事件和事件处理。该包用于请求在指定条件下发送JDI事件。 -
Services
ProvidesUses