Eclipse远程调试Java代码_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Eclipse远程调试Java代码

Eclipse远程调试Java代码

 2014/5/23 13:09:51  dacoolbaby  程序员俱乐部  我要评论(0)
  • 摘要:有时候本地断点调试不能完全反映出生产环节的异常:比如服务之间的依赖,等等。所以,远程断点调试给予了解决集成环境BUG的一个非常有利的工具。在Eclipse下面,做如下工作:打开Eclipse,点击左上角的debug按钮,如图:Project:选择你要debug的项目,Host:输入你的远程IP,Port:远程调用端口。如何知道远程端口,通过进入你的远程虚拟机的命令行,输入jps-v命令,查找这一行-Xrunjdwp:transport=dt_socket,server=y
  • 标签:Eclipse Java 代码 远程

有时候本地断点调试不能完全反映出生产环节的异常

比如服务之间的依赖,等等。

?

所以,远程断点调试给予了解决集成环境BUG的一个非常有利的工具。

?

在Eclipse下面,做如下工作:

打开Eclipse,点击左上角的debug按钮,如图:

?

?

?

Project:选择你要debug的项目,Host:输入你的远程IP,Port:远程调用端口。

如何知道远程端口,通过进入你的远程虚拟机的命令行,输入jps -v 命令,查找这一行?
-Xrunjdwp:transport=dt_socket,server=y,address=52002,suspend=n?

?

其中52002就是你远程虚拟机的调用接口

如果找不到,那是因为你的远程虚拟机tomacat或jboss配置没有支持remote debugging,需要在给JVM加上如下的启动参数:?
-Xdebug -Xrunjdwp:transport=dt_socket,address=52002,server=y,suspend=n?
adderss由你自己定的。

?

下面,我们就在Tomcat的环境上,进行远程调试的配置:

方法一: 修改配置文件catalina.bat , startup.bat

1. 在环境变量中添加 jpda_address=8000, 也可以加到startup.bat 文件

@echo off下面如:set "JPDA_ADDRESS=8000"

2. 打开catalina.bat,在文件中找到" set JPDA_TRANSPORT",把它的值设为dt_socket

3. 打开startup.bat, 在文件中找到"call "%EXECUTABLE%" start %CMD_LINE_ARGS%",

改为" call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%",

也就是在start前加jpda.

4. 在eclipse debug中选择" Remote Java Application" ,新建一个批port为jpda_address的值,

?

方法二: 通过GUI的"Configure Tomcat ".

b) Select the Java tab

c) Into the Java Options include (substituting the correct locations)

-Xdebug

-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

-Dcatalina.home=c:\tomcat

-Djava.endorsed.dirs=c:\tomcat\common\endorsed

-Djava.io.tmpdir=c:\tomcat

NB: These are all on separate lines, with a <CR> at each EOL

d) Select the Startup tab

e) Into the Arguments section include:

jpda

start

NB: These are all on separate lines, with a <CR> at each EOL

其中要注意<CR>

?

附件会包含我修改Tomcat的所有配置文件

  • class='magplus' title='点击查看原始大小图片' />
  • 大小: 89.6 KB
  • bat文件.zip (4.2 KB)
  • 下载次数: 0
  • 查看图片附件
发表评论
用户名: 匿名