WEB开发网
开发学院软件开发Java 开发一个调试 JSP 的 Eclipse 插件 阅读

开发一个调试 JSP 的 Eclipse 插件

 2009-12-16 00:00:00 来源:WEB开发网   
核心提示:环境要求: 本文的代码是在 Eclipse3.0.0,JDK1.4.2 和 Tomcat5.0.5 上测试过的,开发一个调试 JSP 的 Eclipse 插件,JAVA 调试框架(JPDA)简介JPDA 是一个多层的调试框架,包括 JVMDI、JDWP、JDI 三个层次,利用JDWP协议,与虚拟机通讯,JAVA 虚拟机

环境要求: 本文的代码是在 Eclipse3.0.0,JDK1.4.2 和 Tomcat5.0.5 上测试过的。

JAVA 调试框架(JPDA)简介

JPDA 是一个多层的调试框架,包括 JVMDI、JDWP、JDI 三个层次。JAVA 虚拟机提供了 JPDA 的实现。其开发工具作为调试客户端,可以方便的与虚拟机通讯,进行调试。Eclipse 正是利用 JPDA 调试 JAVA 应用,事实上,所有 JAVA 开发工具都是这样做的。SUN JDK 还带了一个比较简单的调试工具以及示例。

JVMDI 定义了虚拟机需要实现的本地接口

JDWP 定义了JVM与调试客户端之间的通讯协议

调试客户端和JVM 既可以在同一台机器上,也可以远程调试。JDK 会包含一个默认的实现 jdwp.dll,JVM 允许灵活的使用其他协议代替 JDWP。SUN JDK 有两种方式传输通讯协议:Socket 和共享内存(后者仅仅针对 Windows),一般我们都采用 Socket 方式。

你可以用下面的参数,以调试模式启动JVM

    -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 
 -Xrunjdwp   JVM 加载 jdwp.dll 
  transport=dt_socket  使用 Socket 传输 
     address   表示调试端口号 
     server=y   表示 JVM 作为服务器,建立 Socket 
     suspend=n  表示启动过程中,JVM 不会挂起去等待调试客户端连接 

JDI 则是一组JAVA接口

如果是一个 JAVA 的调试客户端,只要实现 JDI 接口,利用JDWP协议,与虚拟机通讯,就可以调用JVMDI了。

下图为 JPDA 的基本架构:

             Components            Debugger Interface 
       
        /  |-----------------------| 
        /   |   VM    | 
 debuggee ----(   |-----------------------| <------- JVMDI - Java VM Debug Interface 
        \   |  back-end   | 
        \  |-----------------------| 
        /      | 
 comm channel -(      | <--------------- JDWP - Java Debug Wire Protocol 
        \      | 
           |---------------------| 
           | front-end   | 
           |---------------------| <------- JDI - Java Debug Interface 
           |   UI   | 
           |---------------------| 

1 2 3 4 5 6  下一页

Tags:开发 一个 调试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接