关于远程debug

java程序远程debug的操作步骤:打包,上传,启动 ,配置,调试

1.程序打包:

                   例如maven打包:clean package -Dmaven.test.skip=true -Pdev

2.上传:

                   rz命令,将打好的程序包上传至linux服务器上

3.启动:

                   采用如下命令启动上传到服务器的程序:

                   java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8199 -cp jpda.jar    {main方法所在类的全路径}

                  tomcat启动:

                   1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容:

                    declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE

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

                    或将apach/bin/startup.sh最后一行

                       exec "$PRGDIR"/"$EXECUTABLE" start "$@"

                    修改成:exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

                   2.Windows系统: apach/bin/startup.bat开始处中增加如下内容:

                    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE 

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

                    3.启动tomcat:startup.sh jpda start

                    4.查看指定端口是否启动:netstat -an | grep 8000

                    结果:tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN

4.配置:

                   右键debug as  >>  debug Configurations   >>   选中 Remote Java Application >> 点击左上角的new launch configurations 图标  >>  右边的project框中选择刚才打包的项目  >>  host:远程服务器地址,也就是上面上传的服务器IP   >>    port:上面启动命令中的address

5.调试/debug:

                    然后启动这个configuration,则会连接到这个端口,如上配置完后调试开始了,首先,在eclipse中启动上面配置好的debug,设好断点,然后,访问刚才上传到服务器的项目,就可以像本地debug一样的操作了.

 

注意: eclipse中的项目要与上传到服务器的项目保持一致(完全一样),否则断点会偏离

          注意访问的是上传到服务器上面的项目,不是访问本地项目,只是断点设在本地项目中.

          此时再查看端口监听IP,会发现已经不是0.0.0.0了!

 

猜你喜欢

转载自ailikes.iteye.com/blog/2003425
今日推荐