点击这里给我发消息 点击这里给我发消息

开发一个调试JSP的Eclipse插件

添加时间:2013-12-7
    相关阅读: 开发 JSP Windows DW 框架
  本文通过开发一个JSP 编辑器插件的示例,介绍了 Eclipse 中设置 JSP 断点的方法,以及如何远程调试 JSP。作为基础知识,本文的前两部分描述了 JAVA Debug 和 JSR-45 的基本原理。

  环境要求: 本文的代码是在 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      |
                         |---------------------|
      参见:http://java.sun.com/j2se/1.4.2/docs/guide/jpda/architecture.html

    [1] [2] [3] [4] [5] [6] 下一页

    咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
    广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
    广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
    = 深圳商务地址:深圳市宝源路华丰宝源大厦606
    研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册