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 =============================================================== ...
随机推荐
- oraclesql遇见的问题(一)
在oracle的数据库,对于字段为null的字段过滤条件只能用is null 或者 is not null,不能使用 != , <> , = 判断, 今天进行接口测试时,发现获取到的数据缺 ...
- oracle group by 显示其他字段
原先用 select key,max(value) from tbl group by key 查询出的结果,但是我要再多加一个TEST字段 根据网友的语句结合起来,以下是可以显示其他字段,并且考虑排 ...
- scrapy实战7爬取搜狗微信:
爬取微信热门文章标题,内容,内容地址,微信公众号,公众号地址,发布日期等 如图 源码地址:https://github.com/huwei86/sougouweixin
- scrapy基础知识之 CrawlSpiders(爬取腾讯校内招聘):
import scrapyfrom scrapy.spider import CrawlSpider,Rulefrom scrapy.linkextractors import LinkExtract ...
- secureCRT背景颜色
secureCRT是我们常用的linux远程登录软件,某些情况下我们安装的secureCRT工具可能默认背景颜色为白色,使用时很容易造成眼睛的疲劳,网上有些教程也只是修改当前登录窗口背景颜色,新的连接 ...
- C语言字符型数据的ASCII码值为何是负数?
有如下一段C语言程序: #include "stdio.h" int main(void) { char a = 0xC8; printf ("字符a的ASCII码值的1 ...
- Junit初级应用实例
Request: public interface Request { String getName(); } Response: public interface Response { String ...
- 从零开始认识Dubbo
目录 1.Dubbo是什么 2.Dubbo能做什么 3.Dubbo架构 4.Dubbo的使用方法 5.使用Dubbo可能遇到的问题 1.Dubbo是什么 http://dubbo.apache.org ...
- Netty使用Google Protocol Buffer完成服务器高性能数据传输
一.什么是Google Protocol Buffer(protobuf官方网站) 下面是官网给的解释: Protocol buffers are a language-neutral, platfo ...
- SP1805 HISTOGRA - Largest Rectangle in a Histogram 题解
题目链接:https://www.luogu.org/problemnew/show/SP1805 分析: 我们可以用一个单调栈由低到高来存储它的高度,并用数组对每个高度记录一下它前面(包括它自己)一 ...