1. 使用场景
在我们的开发过程中,我们常常会遇到这样的情况,对于一个服务,打印的日志并不足以让我们判断一个问题出在哪,那该怎么去判断呢?也是初次使用的我给大家分享下本地远程debug服务器的相关基础操作。
tips:基础的工具
本次使用是基于idea的,其他开发工具暂时不清楚是否支持。
服务器上执行如下命令:
#!/bin/sh
java_home=env|grep "JAVA_HOME";
process_exists=`ps -ef|grep yourServer|grep -v grep|awk '{print $2}'`
if [ -n "${process_exists}" ];then
kill -9 ${process_exists}
fi
if [ ! -n "$java_home" ]; then
cd ..;
nohup java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 DATA-APIServer-0.1.1.jar > /dev/null &
echo "yourServer application is starting......";
exit;
else
java -version;
if [ $? -eq 0]; then
nohup java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 DATA-APIServer-0.1.1.jar > /dev/null &
else
echo "this system has no jdk";
exit;
fi
fi
以上摘自一个debug的脚本,大家可以根据实际情况修改自使用,如果对脚本语法有不明白的地方可以自行了解,不在本文探讨范围内,对开发人员而言,了解一些也有好处。
idea相关配置
点击edit configuration,然后点击左上角的“+”号,在里面选择remote
再输入你要远程的服务器的ip、debug的端口(注意和之前的debug脚本中保持一致),然后配置完apply、ok,最后在启动项中选中你新建的而这个,然后点击debug启动本地的和你远程调试的相同的服务,就能顺利在本地对远程的服务进行debug!