• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

您的位置:您的位置:软件测试技术门户 >> 软件测试技术 >> 开发语言 >> Java >> 查看资讯

字号: | 推荐给好友 上一篇 | 下一篇

Java实用技巧:用JPDA轻松调试Java代码

发布: 2008-5-05 10:33 | 作者: 不详 | 来源: JPDA | 查看: 37次 | 进入领测软件测试网论坛讨论

领测软件测试网 软件测试技术门户9z0gSl'yQ;n:vW(z

JPDA概念将调试过程分为两部分:被调试的程序(被调试者-debuggee)和JDI。JDI一般为一个调试应用程序的用户接口(或Java IDE的一部分)。被调试的应用程序在后端运行,而JDI在前端运行。在前端与后端之间有一个通信通道运行JDWP协议;因此,被调试程序与调试器可以位于同一个系统内,也可位于不同的系统中。 软件测试技术门户 ?cX:\x+y
软件测试技术门户H\/rE(SRA+g&g4Awy
  从开发者的角度,一个调试应用程序可进入任何JPDA层面。因为JDI是最高层,也最容易使用,我们推荐使用这个接口。假设一家公司用JDI开发了一个调试器。公司能够把它用于参考实例中,它将自动与VM和Sun支持的平台协同工作,因此大多数IDE供应商采用这种方式。还可以这样,例如,参考实例在前端运行,被调试者运行另一家公司执行JDWP(它可能运行或忽略JVMTI)的VM。 软件测试技术门户}^0c[:Jcf \F6A

X W ~G6Ky w&N  一些调试器可能建立在较低层面之上,如JDWP(例如,如果Java没有编写前端)或JVMTI(针对需要低级功能的专用调试器)。 软件测试技术门户&ZV*_}O OZ

5DcESa  调试器的后端负责由调试器前端向被调试者VM传输请求,如“告诉我变量X的值”;它还负责向前端传输对这些请求(包括像到达断点之类的预计事件)的响应。后端与前端利用JDWP通过一个通信通道进行通信。后端与被调试者VM利用JVMTI进行通信。
*]!{ T-Ug
EuHx~  通信通道连接调试器的前端与后端。可以认为它由两个装置组成:一个连接器和一个传送器。连接器是一个JDI对象,它在前端与后端建立连接;可能有三种类型的连接器: 软件测试技术门户%lz*jHh*o

8E/|5_&HV9]pw{!?:u  收听型:前端从后端收听一个进入的连接。
({)^s-f4`1y,V软件测试技术门户&P!iQP4Z5i`
  依附型:前端依附到一个已运行的后端上。
l+M ^'GXoko
-yPR8V$^`a  发布型:前端发布运行被调试者代码和后端的Java过程。
NQaw$BDCF;{f