Eclipse如何远程debug/断开远程debug

Eclipse远程调试

Java自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试。

由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可供选择的手段——远程调试——将程序在测试环境中以debug模式启动,在本机使用Eclipse在工程中设置断点进行调试。

  1. 修改服务器启动参数

在Linux服务器上的进程启动参数中添加:

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

连接到myhost:5000提供的调试服务。

-Xdebug通知JVM工作在DEBUG模式下,

-Xrunjdwp通知JVM使用(Java debug wire protocol)运行调试环境。该参数同时包含了一系列的调试选项:

transport指定了调试数据的传送方式;

dt_socket是指用SOCKET模式;

server=y/n VM 是否需要作为调试服务器执行;

suspend=y/n 是否在调试客户端建立连接之后启动 VM 。

设置完成后,启动Linux服务端。

查看端口是否启动成功 netstat -apn|grep 5000

说明监听端口已经启动成功

           2.配置eclipse远程debug

在eclipse里,选中项目,右键->Debug As 进去选最后一Ddebug Configurations...

鼠标右键new出一个远程应用

接下来就是在你想要断点的地方打上断点、、、、、、然后运行。。。。

注意,运行的时候一定要选择Main2.这个是我们刚刚设置远程的时候的名字,这里我做测试并没有改

这时你会惊奇的发现

这个地方的N按钮居然变红了,说明远程调试链接成功、、、、、停止debug就点击这个按钮就可以了。。。。当然,这只是停止本地断点,并不会关闭Linux端的经常

猜你喜欢

转载自blog.csdn.net/zs319428/article/details/100199598