Module jdk.jdi


module jdk.jdi
定义了Java调试接口。

Java调试接口(JDI)是一个高级Java API,为调试器和类似系统提供有用的信息,这些系统需要访问(通常是远程)虚拟机的运行状态。

JDI提供了对运行中虚拟机状态、类、数组、接口和基本类型以及这些类型的实例的内省访问。

JDI还提供了对虚拟机执行的显式控制。能够暂停和恢复线程,并设置断点、监视点等。通知异常、类加载、线程创建等。检查暂停线程的状态、局部变量、堆栈回溯等的能力。

JDI是Java平台调试器架构(JPDA)的最高层。

此模块包括一个简单的命令行调试器,jdb

全局异常

本节记录适用于整个API的异常,因此不会在单独的方法中进行记录。

VMMismatchException

任何在Mirror上直接或间接地(例如,作为List中的元素)接受Mirror作为参数的方法,如果镜像来自不同的虚拟机,则会抛出VMMismatchException

NullPointerException

任何接受Object作为参数的方法,如果直接或间接传递了null,则会抛出NullPointerException,除非明确将null作为有效参数进行了说明。

注意:下面的异常可能在满足指定条件时抛出,但仅当无法返回有效结果时才保证抛出。

VMDisconnectedException

ObjectReferenceReferenceTypeEventRequestStackFrameVirtualMachine上的任何方法,或者直接或间接地接受其中之一作为参数的方法,如果目标虚拟机已断开连接并且VMDisconnectEvent已被读取或可从EventQueue中读取,则可能抛出VMDisconnectedException

VMOutOfMemoryException

ObjectReferenceReferenceTypeEventRequestStackFrameVirtualMachine上的任何方法,或者直接或间接地接受其中之一作为参数的方法,如果目标虚拟机已耗尽内存,则可能抛出VMOutOfMemoryException

ObjectCollectedException

ObjectReference上的任何方法,或者直接或间接地接受ObjectReference作为参数的方法,如果镜像对象已被垃圾回收,则可能抛出ObjectCollectedException

ReferenceType上的任何方法,或者直接或间接地接受ReferenceType作为参数的方法,如果镜像类型已被卸载,则可能抛出ObjectCollectedException

模块图:
jdk.jdi的模块图jdk.jdi的模块图
工具指南:
jdb
自JDK 9起:
9
参见:
  • Packages

    Exports
    Package
    Description
    这是Java调试接口(JDI)的核心包,它定义了值、类型和目标VirtualMachine本身的镜像,以及引导设施。
    该包定义了使用JDI和目标虚拟机之间的连接。
    该包包括用于开发新的TransportService实现的接口和类。
    该包定义了JDI事件和事件处理。
    该包用于请求在指定条件下发送JDI事件。
  • Services

    Provides
    Type
    Description
    调试器和目标VM之间的连接方法。
    Uses
    Type
    Description
    调试器和目标VM之间的连接方法。
    调试器和目标VM之间的连接的传输服务。