Eclipse高级操作 远程调试
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/
Eclipse高级操作 远程调试的更多相关文章
- 在ubunut下使用pycharm和eclipse进行python远程调试
我比较喜欢Pycharm,因为这个是JetBrains公司出的python IDE工具,该公司下的java IDE工具--IDEA,无论从界面还是操作上都甩eclipse几条街,但项目组里有些人使用e ...
- eclipse/intellij idea 远程调试hadoop 2.6.0
很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试 ...
- eclipse java tomcat 远程调试
在远程linux上修改tomcat 中bin 文件夹下 修改catalina.sh文件,在最前面加上如下代码: CATALINA_OPTS="-Xdebug -Xrunjdwp:transp ...
- 使用Eclipse进行远程调试
转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言 ...
- 使用Eclipse进行远程调试【转】
今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/arc ...
- (转)Eclipse 远程调试 WebSphere Application Server (WAS)
目前我们项目中使用的应用服务器多是WebSphere,一直苦于无法进行调试,今天在网上看到一篇,原文是 http://www.cnblogs.com/newstar/archive/2010/04/1 ...
- 【Java】使用Eclipse进行远程调试,Windows下开启远程调试
原博链接:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可 ...
- 使用Eclipse进行远程调试(转)
做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了.博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试).说来惭愧,博主也是工作了3年才用 ...
- JPDA 利用Eclipse和Tomcat进行远程调试 --转
1 编辑tomcat\bin\catalina.bat ,添加 rem =============================================================== ...
随机推荐
- 我在工作中遇到的redis集群使用
写次随笔,给自己工作学习中记录一个笔记 废话不多说,直接上代码: 功能:将相关信息存到redis中,并设置过期时间,如果redis中有,从redis获取,如果没有,从mysql中获取.redis配置了 ...
- 用PHP抓取百度贴吧邮箱数据
注:本程序可能非常适合那些做百度贴吧营销的朋友. 去逛百度贴吧的时候,经常会看到楼主分享一些资源,要求留下邮箱,楼主才给发. 对于一个热门的帖子,留下的邮箱数量是非常多的,楼主需要一个一个的去复制那些 ...
- Windows下GIT的使用方法
文章引用自:Git使用教程 https://www.cnblogs.com/tugenhua0707/p/4050072.html 本文章只限用于Windows,敬请参考 注意:操作命令纯属手敲 ...
- shell的用处到底大不大
我曾在智联招聘等网站上搜寻有关shell脚本员的职位,与C++.JAVA等热门语言相比,冷清很多.看上去似乎招shell程序员的公司比较少.是不是公司不重视或者是很少用到shell这个东东呢? ...
- Stixel_World(single)学习笔记
1. 算法背景 Q: 如何有效处理数以百万的视差图数据(提供了每个像素的精确深度信息)? 以及如何在大量数据中找到所有相关的障碍物? 提出方法 “ stixel_world ”, It takes ...
- 简介SoftICE是Compuware NuMega公司1的产品,是目前公认最好的系统级调试工具
简介SoftICE是Compuware NuMega公司1的产品,是目前公认最好的系统级调试工具
- NOIP2018初赛题解 提高组
- cesium 学习(六) 坐标转换
cesium 学习(六) 坐标转换 一.前言 在场景中,不管是二维还好还是三维也罢,只要涉及到空间概念都会提到坐标,坐标是让我们理解位置的一个非常有效的东西.有了坐标,我们能很快的确定位置相关关系,但 ...
- 小白学python-day06-
今天是day06,以下是学习内容总结: 但行努力,莫问前程. --------------------------------------------------------------------- ...
- linux初学者-系统服务的控制
linux系统中系统服务的控制是比较重要的一部分,这也直接影响到计算机的使用,以下将会介绍一些系统服务的控制. 1.系统服务命令 系统的初始化程序是系统开始的第一个进程,pid为1.可以通过以下命 ...