`
yinchunjian
  • 浏览: 278948 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

java远程调试

    博客分类:
  • java
阅读更多

Eclipse高级操作 远程调试

 JPDA是SUN JDK自带的远程调试机制。它提供了一套标准的调试接口,可以从虚拟机一级允许外界用特定协议探测虚拟机内部的运作细节。只要你装了JDK1.2以上的SUN JDK,就已经有了JPDA支持。只要是用标准SUN JDK中java.exe运行的应用,就可以用JPDA进行远程调试。以WEB应用的开发为例,servlet和ejb的调试一直不是一件太容易的事情。虽然Jbuilder/Eclipse等有一些常见的应用服务器,如tomcat/weblogic的调试插件,但是用法各不相同,原理也不同,而且很容易由于版本问题导致出现各种问题,而且对于有的服务器则没有相应的IDE插件。  JPDA就不一样。由于它是JAVA平台的标准功能之一,所以我们其实可以调试任何用JDK运行的程序,它统一了调试的实现方式。JPDA基本原理就是程序运行过程中,JVM将程序运行过程中的相关信息发送给JPDA客户端,JPDA客户端也可以向JVM查询一些信息(变量的值等).

 只需要做两件事:  (1)在被调试的应用上,增加几个JAVA虚拟机启动参数,让它启动后进入调试服务器模式:-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket, address=8787, server=y, suspend=n,关于"JAVA虚拟机启动参数"的更多知识可以以"jvm 启动参数"为keyword在搜索引擎中搜索。  (2)在本机或网络中另一台机器上用某种JPDA客户端程序,attach到被调试的应用程序(可以通过socket或共享内存两种方式)。自"http://www.cjsdn.com/post/print?bid=7&id=1376".

 以Eclipse+Tomcat为例:  (1)打开Tomcat 5.0/bin下的catalina.bat,加入如下两行:  set JPDA_TRANSPORT=dt_socket  set JPDA_ADDRESS=8787  (2)启动tomcat  (3)在eclipse的debug中新建一个"Remote Java Application",工程选择被调试的远程程序的源码工程,host填127.0.0.1,port为8787  (4)运行调试。

 这样我们就可以在eclipse中下断点调试tomcat中运行的程序了。让那些乱七八糟的插件哪凉快去哪呆着吧。  注意一定要保证eclipse工程中的源码和tomcat中运行的程序一致。当然这种方式只能调试java代码,对于jsp代码甚至更高抽象级别的代码就只能使用一些插件来完成了。这些调试环境的搭建方法我们后边的课程将会涉及到。关于远程调试的原理和jsp远程调试的原理,大家可以到网上搜索一篇名为《一个调试JSP的Eclipse插件的开发》的文章,这篇文章讲的很清楚

文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javaxl/200873/129667.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics