Eclipse 远程调试(Remote Debug)

有时候在开发测试阶段,服务器上会出现一些无法定位的bug,需要本地断点进行查看,但是为了和服务器一致,所以需要进行远程调试。

贴个详解的帖子》》》》》》》》》》》》》》》

一、前提:

在服务器上,应用在启动的时候需要添加以下参数:
-Xdebug -Xrunjdwp:transport=dt_socket,address=2019,server=y,suspend=n
解释:
(1)-Xdebug:
启用调试特性。
(2)-Xrunjdwp:
在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信,以下是子选项:
transport:
这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。
server:
如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。
address:
这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
suspend:
如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。

二、注意事项

	1.远程断点只能有一台机器可以连接,如果有人打了远程断点,则另一个人就没法连接上去了;所以启动远程连接会报无法连接的异常提醒。
	2.对于不同包下,类名相同,方法相同的两个类;如果在其中一个打了远程断点,可能会出现,断点乱跳,在两个类之间无法找到自己想要断点的类(详情待查),所以也就无法走到自己想要的断点的地方。
	3.打远程断点,需要断点处的类代码,和服务器上服务的代码保持一致。否则断点行数不准,也就无法实现断点调试。

三、以Eclipse为例:

1、点击debug下拉按钮,进入debug配置运行的页面:
Eclipse 远程调试(Remote Debug)_第1张图片

2、具体配置见红框:创建一个新的remote app
(1)project:是需要debug的工程。
(2)host:是需要远程的主机,
(3)port:需要远程的主机需要调试的应用端口号
Eclipse 远程调试(Remote Debug)_第2张图片

3、配置完成以后就可以点击debug按钮,就启动了:
这里启动之后,project是不会运行的。进入eclipse的debug主界面,就可以看到在运行状态的 remote debug模式。
红色方框内显示的就是启动后的样式,如果需要关系,点击黄色的停止,或者红色的断开链接都可以。
当启动以后,服务器上进行访问,就能请求到本地的方法了,打断点就可以进行调试了。
Eclipse 远程调试(Remote Debug)_第3张图片

超级好用,解决疑难杂症。

你可能感兴趣的:(工具问题,技术,开发问题)