Eclipse、IntelliJ IDEA远程断点调试

本地断点调试相信大家已经都已经玩的很溜了,但远程断点可能对有些人来说还有点陌生。在实际开发过程中我们可能会有几套不同的环境,比如开发环境、测试环境、生产环境。测试环境我们一般会部署在远程机上,有时我们在开发环境调试正常的代码部署到测试或者生产环境上会有莫名其妙的bug,对于生产环境我们基本上只能通过拉日志分析,分析日志文件并尝试重现bug.这会带来的问题还是不少的.首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题.倘若是测试环境,我们还多了一项可供选择的手段,即远程调试:将程序在测试环境中以debug模式启动,在本机使用开发工具(如Eclipse、IntelliJ IDEA)在工程中设置断点进行调试。下面就让我们来看看如何使用吧!
首先我们需要在应用的启动脚本里添加一行脚本 –debug 端口号(端口号自己取,保证和应用不冲突就行)
方式一:
Eclipse、IntelliJ IDEA远程断点调试_第1张图片
这里我定的端口是8989
Eclipse远程调试
1、进入到debug模式,选择Debug Configurations
Eclipse、IntelliJ IDEA远程断点调试_第2张图片
2、选择Debug Configurations右键new,相关信息填完后点击apply-ok
Eclipse、IntelliJ IDEA远程断点调试_第3张图片
3、以上步骤完成后,点击启动,连接后我们可以在本地代码中打上断点,通过请求远程机器上的应用,就可以在本地degug调试了
Eclipse、IntelliJ IDEA远程断点调试_第4张图片

IntelliJ IDEA远程调试
用IntelliJ IDEA工具的话相对于稍微要简单一点
1、选择应用,点击下拉框选择Edit Configurations
这里写图片描述
2、点击+号,选择Remote,和之前一样,填好应用名,远程机ip和远程端口
Eclipse、IntelliJ IDEA远程断点调试_第5张图片

方式二:
Eclipse、IntelliJ IDEA远程断点调试_第6张图片
在启动脚本中加入以下一段脚本

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=64443 -Dfile.encoding=UTF-8

然后其他步骤与方式一一样

注意事项:
1、如果程序需要接收来自控制台的输入,应该在测试环境中的控制台中输入.
2、测试环境的代码和开发环境中不一致的情况.如果Eclipse中设置的断点的行数刚好对应测试环境程序中的空行,将无法跳入断点,看上去就像调试并没有成功一样.这种情况并不会发生在本地调试中,因为本地调试无法在空行上设置断点.

你可能感兴趣的:(java,远程断点)