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 =============================================================== ...
随机推荐
- CSU 1508:地图的四着色(DFS+剪枝)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1508 题意:地图中四联通的块是一个国家,A和B每个人可以涂两种颜色,且B不能涂超过5次,相邻的国家 ...
- VM虚拟机 VMWare Workstation Pro v15.0.1 中文破解版
虚拟机软件VMware Workstation Pro 15.0 全新版本发布,此次更新了诸多客户机操作系统版本,另外完全兼容Win10创意者更新支持.12.0之后属于大型更新,专门为Win10的安装 ...
- 基于lua-nginx-module(openresty)的WEB应用防火墙
独乐乐,不如众乐乐,分享给大家一篇WEB应用防火墙的文章,基于Lua+ Nginx实现.以下是ngx_lua_waf的作者全文输出. Github地址:https://github.com/loves ...
- Spring Boot2(十三):整合定时任务发送邮件
一.前言 主要玩一下SpringBoot的定时任务和发送邮件的功能.定时发送邮件,这在实际生成环境下主要用户系统性能监控时,当超过设定的阙值,就发送邮件通知预警功能.这里只通过简单的写个定时结合邮件通 ...
- .NET多线程之Thread、Task、ThreadPool、Timer
下表为多线程操作常见对象: 对象 方法/属性 描述 用途 用法 性能 Thread(线程) Start 启动线程,启动后线程处于System.Threading.ThreadState.Running ...
- canvas动画:气泡上升效果
HTML5中的canvas真是个很强大的东西呢! 这几天突发奇想想做一个气泡上升的动画,经过许久的思考和多次失败,终于做出了如下效果 由于是录制的gif图,看着会有点卡顿,实际演示是很自然的 想要做出 ...
- [vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示
因公司业务需求,需要做一份订单相关的折线图, 如果其中有一天没有订单的话,这一天就是空缺的,在绘制折线图的时候是不允许的,所有要求把没有订单数据的日期也要在图表显示. 使用技术vue3.0+sprin ...
- springboot3(目录结构)
2.springboot中的目录结构 1.基本信息 - static :保存所有的静态资源,css.js.img - templates :保存所有的模版页面(springboot内嵌tomcat,默 ...
- C#5.0新增功能02 调用方信息
连载目录 [已更新最新开发文章,点击查看详细] 通过使用调用方信息特性,可获取有关方法的调用方的信息. 可以获取源代码的文件路径.源代码中的行号和调用方的成员名称. 此信息有助于跟踪.调试和创建 ...
- 在工作中常用的Linux命令
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 之前写过一篇 < 在公司做的项目和自己在学校做 ...