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插件的开发》的文章,这篇文章讲的很清楚。

参考:

<<使用 Eclipse 远程调试 Java 应用程序>>

http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/

最新文章

  1. python数据类型
  2. 安装Office 2010后出现正在配置
  3. 【Unity3D自学记录】判断物体是否在镜头内
  4. Grand Theft Auto V 图形研究(2)
  5. TensorFlow Playground
  6. 微信内置浏览器图片查看方式的原生实现(非jssdk)
  7. JS的加载方式---同步和异步
  8. ios开源项目(各种有用的第三方库)
  9. sublime text 3解放鼠标的快捷键总结
  10. java_windows下修改eclipse的默认编码
  11. ubuntu安装 cober 笔记
  12. NFS启动时报错Linux NFS:could not open connection for tcp6
  13. MySQL官网示例数据库emploees分析使用
  14. 从零开始写自己的PHP框架系列教程[前言]
  15. 进程&amp;线程(转)
  16. 操作系统の实验四 windows中线程的创建和同步控制
  17. 设计node.js搭建多人博客的思路(不讲数据库)
  18. The app references non-public selector in MyApp : id
  19. **15.app后端怎么设计用户登录方案(API权限安全)
  20. dell T420热插拔安装过程

热门文章

  1. ZOJ 3795:Grouping(缩点+最长路)
  2. c++学习书籍推荐《C++程序设计语言(特别版)》下载
  3. set.contains()分析
  4. WPF 入门笔记之控件内容控件
  5. Java web导出word,文件名为中文,%E6%9D%90%E8%B4%A8%E5%8D%95乱码
  6. Zeppelin 0.6.2使用Spark的yarn-client模式
  7. 【排序函数讲解】sort-C++
  8. excel报表开发-- 根据datatable个数自动生成新sheet
  9. 74859a颜色信息
  10. golang http json http://www.alexedwards.net/blog/golang-response-snippets