做Java开发的,可能都遇到果这样一个问题:我们在本地的project工程项目开发完毕之后,打成了jar包或者war包(这里以jar包为例),放到yua远程服务器上使用Java
-jar 命令执行。但是有时候往往访问部署在服务器上的jar时,遇到一点小bug异常,此时我们需要排查走debug调试,但是jar包已经部署在服务器上了,如何调试呢?调试步骤如下
-
在Linux服务器上ps -ef|grep java 查看Java jar包是否处于运行状态,如果处于运行状态,请kill -9 PID 干掉Java进程。配置我们的MyEclipse,操作如下:
- 项目右键,Dubug As -> Debug configurations
- Remote Java Application ->右键 New 配置如下
- 配置 Source 和 Common
-
- 项目右键,Dubug As -> Debug configurations
-
配置Linux 我们设置一个alias 方便启动远程Debug,
- vi ~/.bashrc 自定义一个alias alias jar_java=‘killall java;java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar jar包路径’
- :wq保存,source ~/.bashrc 使配置文件生效.
- jar_java 运行
-
在我们的MyEclipse中,不必运行本机程序,直接在debug点击远程Debug的名称即可将断点同步到远程jar包中。
-
就是这么简单,学会了吗?