IntelliJ IDEA远程Debug Linux的Java程序,找问题不要只会看日志了

1 前言

我们习惯于在本地开发的时候,能快速定位与解决问题,那部署在服务器上是不是就没有办法了呢?只能通过查看日志来定位?

不是的,在远端的服务器上,我们一样可以。

2 IDEA的debug

我们先来看一下在直接是怎样的。

先准备一个简单的程序:

功能很简单,获取所有系统环境变量,并打印出含有字段的。

很简单,直接点击以下按钮就可以:

相信大家都知道这一点,但应该很多人都不会注意,究竟做了什么,为什么就可以调试了呢?我们看一下控制台的日志就明白了:

简化一下,不重要的参数去掉:

这就是可以的原因,利用了原理。这个功能很强大,类似一个,代理了程序,可以利用它进行调试、热部署等。

3 调试本地程序

我们先试试如何可以调试本地程序,不是直接在上调试。先要编译出文件,然后按结构放好。我通过来编译。

启动程序,在目录执行:

然后程序就会等待调试客户端的连接,不会往下执行。

配置以进行调试:

配置完成保存后,点击就可以了:

程序已经进入模式:

我们已经执行到了其中一行,现在看看服务端:

与是同步的,并且确实已经控制了服务端的执行。

4 远程调试Linux Java程序

先把程序部署在上:

通过以下命令在服务端启动程序,这里调试端口改为,因为部分端口在远程服务器并没有开启:

本地电脑配置如下:

开始,正常控制了远程服务端的:

服务端的实时执行情况:

让程序执行完如下:

5 总结

本文一步步探索如何进行调试远程的服务器,这在出现问题时定位还是非常有用的。毕竟可以实时看到服务端运行环境。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200905A030VK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券