`

Java调试平台

阅读更多
  
   Java Platform Debugger Architecture(JPDA:Java平台调试架构)--由Java虚拟机后端和调试平台前端组成,Java虚拟机提供了Java调试的功能,而调试平台通过调试交互协议向Java虚拟机请求服务以对在虚拟机中运行的程序进行调试。  
     
   JPDA通过两个接口和协议来完成如上的说明,分别是JVMTI(Java虚拟机工具接口)、JDWP(Java调试连线协议)和JDI(Java调试接口)。

   JVMTI定义了虚拟机应该提供的调试服务,包括调试信息(Information譬如栈信息)、调试行为(Action譬如客户端设置一个断点)和通知(Notification譬如到达某个断点时通知客户端),该接口由虚拟机实现者提供实现,并结合在虚拟机中。

   JDWP定义调试服务和调试器之间的通信,包括定义调试信息格式和调试请求机制;而JDI在语言的高层次上定义了调试者可以使用的调试接口以能方便地与远程的调试服务进行交互,Java语言实现,调试器实现者可直接使用该接口访问虚拟机调试服务。 

   JDI(Java Debug Interface)是 JPDA 三层模块中最高层的接口,定义了调试器(Debugger)所需要的一些调试接口。基于这些接口,调试器可以及时地了解目标虚拟机的状态,例如查看目标虚拟机上有哪些类和实例等。另外,调试者还可以控制目标虚拟机的执行,例如挂起和恢复目标虚拟机上的线程,设置断点等。
  
   目前,大多数的 JDI 实现都是通过 Java 语言编写的。比如,Java 开发者再熟悉不过的 Eclipse IDE,它的调试工具相信大家都使用过。它的两个插件 org.eclipse.jdt.debug.ui 和 org.eclipse.jdt.debug 与其强大的调试功能密切相关,其中 org.eclipse.jdt.debug.ui 是 Eclipse 调试工具界面的实现,而 org.eclipse.jdt.debug 则是 JDI 的一个完整实现。

  当虚拟机的调试服务运行时,虚拟机作为调试的服务提供端,监听一个连接,而调试器通过该连接与虚拟机进行交互。目前,Windows平台的JVM提供了两种方式的连接:共享内存Socket连接

   共享内存的服务提供端和调试端只能位于同一台机。
  
   而Socket连接则支持不同异机调试,即远程调试。  



http://www.ibm.com/developerworks/cn/java/j-lo-jpda1/
http://www.ibm.com/developerworks/cn/java/j-lo-jpda2/index.html
http://www.ibm.com/developerworks/cn/java/j-lo-jpda3/index.html?ca=drs-cn-0903
https://www.ibm.com/developerworks/cn/java/j-lo-jpda4/

http://www.ibm.com/developerworks/cn/java/j-lo-jdi/


 
分享到:
评论

相关推荐

    使用 Eclipse 平台进行调试 - Java - JavaEye论坛

    使用 Eclipse 平台进行调试 - Java - JavaEye论坛

    javajava调试java调试java调试java调试

    Java调试是开发者日常工作中不可或缺的一部分,它涉及到对代码的深入理解和问题排查能力。在Java编程过程中,遇到程序出错或运行异常时,调试是找出问题源头的关键步骤。本文将详细介绍Java调试的一些核心技术和方法...

    Java调试体系及协议

    Java调试体系及协议是开发和优化Java应用程序的关键组成部分。它为开发者提供了深入理解代码执行流程、定位和修复问题的能力。本文将深入探讨Java Platform Debugger Architecture (JPDA),这是Java调试的基础,以及...

    VisualStudioCode的Java调试器

    《Visual Studio Code的Java调试器深度解析》 Visual Studio Code(VS Code)作为一款轻量级但功能强大的源代码编辑器,已经成为了许多开发者的选择,尤其是对于Java开发来说,其集成的Java调试器更是提升了开发...

    深入Java调试体系(JPDA-JDWP)

    JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。 JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),...

    java串口调试助手.zip

    总的来说,这个压缩包为Java开发者提供了一套完整的串口调试解决方案,包括了Java实现的串口读取工程、跨平台的串口调试工具以及必要的驱动程序,是进行串口通信开发和调试的实用资源。用户在使用时,应按照readMe....

    JAVA Udp调试工具 Java版本

    Java UDP调试工具是一种用于测试和调试UDP(User Datagram Protocol)网络通信的应用程序。UDP是一种无连接的传输协议,常用于需要高效传输且对数据完整性要求不高的场景,如在线视频流、实时游戏等。该工具通常包含...

    java js引擎调试js代码

    Java JavaScript 引擎调试JS代码是一项关键技能,特别是在开发混合型应用或利用Java与JavaScript进行交互的场景下。本文将深入探讨如何使用Nashorn JavaScript引擎进行JS代码的调试。 Nashorn是Java 8引入的一个...

    Java 调试技巧

    Java调试技巧,特别是针对Eclipse的调试方法,是Java开发者必备的技能之一。在Java编程中,多线程编程是一个重要且复杂的主题,因为它允许程序同时执行多个任务,提高CPU的利用率,尤其对于网络和交互式应用至关重要...

    JPDA----java调试体系

    JPDA----java调试体系 JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java ...

    JAVA远程调试教程

    如果你发现你的代码在本地运行良好,但是一旦上测试环境、预发布环境或生产环境就出现问题,那么可以执行JAVA远程调试,以彻底搞清楚为什么一上生产环境就会出现问题,本教程就是介绍如何实现JAVA远程调试,即如何在...

    调试java接口的工具(jmeter和postman),喜欢那个拿哪个

    在IT行业中,接口调试是开发和测试人员日常工作中不可或缺的一部分,尤其对于Java接口的调试,有多种工具可供选择。本文将详细介绍两种广受欢迎的工具——JMeter和Postman,帮助你了解它们的特点和使用方法。 首先...

    java远程调试操作步骤

    ### Java远程调试操作步骤 #### 一、准备工作 在进行Java远程调试之前,我们需要完成一些必要的准备工作,确保环境配置正确。 ##### 1.1 安装JCE无限制策略文件 根据描述中的“下载UnlimitedJCEPolicyJDK8”,这...

    WNMP是一个PHP、Java调试环境的程序集成包

    该程序包集成最新的Nginx(1.16.1)+MySQL(5.7.16)+PHP(7.2.28)+phpMyAdmin+Tomcat(8.5.53),一次性安装,无须配置即可使用,是非常方便、好用的PHP、Java调试环境。

    java webservice调试工具

    Java WebService调试工具是开发和测试基于Web Service应用程序的重要辅助工具。这些工具使得开发者能够方便地发现、调用和测试Web Service接口,从而确保服务的正确性和效率。在本文中,我们将深入探讨Web Service的...

    java 断点调试的各种方法

    Java 断点调试的各种方法 断点调试是 Java 程序员经常用的调试技术,通过设置断点,可以在代码运行到某一特定位置时停止,方便开发者检查和 debug 代码。下面将详细介绍 Java 断点调试的各种方法。 1. 条件断点 ...

    java调试参数

    通过合理设置Java调试参数,开发者可以在开发、测试甚至生产环境中对Java应用程序进行远程调试,这对于定位问题、理解程序运行时的行为至关重要。本文将围绕“Java调试参数”这一主题展开,详细介绍与之相关的各项...

Global site tag (gtag.js) - Google Analytics