Myeclipse jetty远程调试

在本机(windows)环境下代码调试没有问题,在编译好的class文件中不好debug断点调试,在liunx下部署的更是不好调试了,解决的办法是可以用远程调试。在MyEclipse的debug里有remote java application 这个工具,可以使用它来设置远程调试。

第1步:   修改jetty.sh 文件

修改Tomcat安装目录下的/jetty/bin /jetty.sh 文件;在这个文件中加入如下内容:(我是加在文件的第一行)

JAVA_OPTIONS="-Xdebug -Xrunjdwp:transport=dt_socket,address=10000,server=y,suspend=n"

(这里address=10000,表示要远程调试连接的端口号),修改后保存此文件。

第2步:   关掉防火墙(可能需要)

liunx下用如下命令关闭防火墙:

/etc/rc.d/init.d/iptables stop  

第3步:   部署项目程序:

将Windows 系统下的 E:\jetty\webapps 目录下要调试的项目程序,部署到Linux系统 /jetty/webapps 目录下。(必须保证Linux下的程序与MyEclipse中的程序一致)

第4步:   重新启动jetty服务

停止jetty服务,使用如下命令:

# jetty.sh stop

启动jetty服务,使用如下命令:

#jetty.sh start

第5步:   新建remote java application

然后打开MyEclipse,新建一个remote java application ,在打开的MyEclipse里的工具栏里有个小虫子debug的图标,点击旁边的下三角符号,选择open debug dialog,打开debug配置对话框,在最后一项有个remote java application ,选中后右击new一个项目

第6步:   配置remote java application

在name里填个名字,然后在下面的connect的project里选中MyEclipse里的项目(即部署在Linux系统下的项目,注意要和远程的项目对应)。connection type就用默认的,connection properties的Host里填上远程机器的ip地址(即Linux系统的IP地址), 第二项Port里填端口:10000,(Port端口和catalina.sh 文件中的address值一样,同时要保证这个端口没被其他服务使用)。配置完成后直接点击“Debug”按钮,开启调试线程,在MyEclipse的debug窗口中会看到有一个调试的线程启动,说明配置成功。

第7步:   设置断点:

在MyEclipse中打开要调试的文件,在需要的地方打上断点,访问远程机器的程序,当程序运行到断点处时会停住,即可进行远程调试。

(注:在调试过程中可以对本地程序进行修改,以达到想要的效果。但所修改的文件并不会影响到远程机器上文件,所以修改过的文件必须更新到远程机器上。)

相关推荐