UIBOT调试时步入的快捷键_远程调试 bug ,快速定位问题

84350e016550a0d8848cd6956ddba15c.png

情况是这样的,现在的产品出现了一个 bug ,需要及时排查快速解决,你是怎么样解决的呢?

解决:登陆服务器,查看日志,看一下哪里有问题,然后本地运行程序进行debug ,解决后,在重新打包部署到服务器。

现在我们开发项目,Java 项目普遍都是使用 Idea 做为主流开发工具,springboot 技术栈来快速构建项目,然后以打 jar 包的方式来部署项目。现在我们就来通过远程调试的方式来快速 debug ,快速的定位修改问题。

什么是远程调试?

个人理解:程序在服务器运行着,出现了问题,源代码在本地,我们可以通过在本地来连接远程服务器,连接后,在本地打断点来分析远程程序的问题。如果你觉得还是不理解再白话一点,就是本地 debug 远程程序。

下面来进行详细的操作步骤:

idea 添加远程服务器 remote

第一步: 打开项目的配置,使用 idea 的快捷键 commad + shift + a ,Windows 系统使用 Ctrl + shift + a ,这样会快速定位到 aciton , 然后在输入框输入 edit configurations ,按下回车即可,如下图所示:

e26751628574b2ab523b81f4e4b0d7f7.png

回车后(敲击 enter 键)将会进入如下的界面点击➕号,选择remote ,然后填写远程服务器的 ip 和 远程连接的 port 即可,如下图:

78267e1afcc24ef145cc27dfe391825e.png

上图点击 remote 以后出现如下页面配置,添加如下操作:

0756df13328c82397bfeb97d7d1ab90d.png

1.起个名字

2.选择 Attach to remote JVM

3.填写远程服务器的 ip 和 port

4.复制如下命令:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

点击 ok 保存设置即可。

到这里所有的配置都已经OK了!

下面啰嗦一句,使用 idea 开发 java 项目是十分高效的,里面有非常丰富的快捷键和非常丰富的插件总能解决我们各种各样的需求,例如上面我提到的 command +shift+a 就是一个非常强大的快捷键,使用它我们能快速调出任何idea的功能键,后续打算分享一下如何高效使用 idea 。

打包 jar ,远程服务器启动服务,开启 debug 端口

使用 maven 打 jar 包,然后部署到远程服务器,这里需要强调一点在远程服务器启动程序的时候,请使用如下的命令启动,该命令是开启远程端口 5005 ,方便本地连接,进行远程debug.

java 

上面的命令参数来自添加远程 server 时 复制而来。 启动以后,这样远程 debug 端口就已经打开,我们可以随时进行远程 debug.

通过debug 模式,连接远程服务

Idea 上选择远程刚才命名的 server , 点击 debug 按钮快速连接远程 server ,如下图所示:

bd2150e272792001546ece269201ffa5.png

如上图显示 Connected to the target VM, address: 'zempty.sg:5005', transport: 'socket' ,这样代表我远程连接成功了,下面可以在本地打断点进行调试了。

本地代码打断点,debug 远程服务

在本地程序上打断点,访问远程 server 接口的时候,你会发现程序可以在本地你打的短点处停下来了,这是一个令人欣喜的结果,因为我们以后可以在本地调试远程 server 上的 bug 了,再此,恭喜你。

总结:

idea 是 java 开发者的一个非常高效的工具,接下来我还会分享一些 idea 的使用技巧和常用插件,希望我可以帮助你更高效的学习和使用 java,本文首发于微信公众号 「 zempty 笔记 」,欢迎关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值