wangjie-fourth 的个人博客

may be just need work hard

目录
远程调试
/  

远程调试

远程调试

当服务器上代码出现错误的时候,我们想直接在远程服务器上进行debug,本地控制debug的进度。IDEA就提供这个功能。

1、场景

我在阿里云的服务出现一个bug,现在我想debug查找这个错误。

2、步骤

  • 在本地IDEA配置remote
    1576721298797.png

  • 重启阿里云得这个项目,并加入一下参数信息

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

    suspend:表示等待连接

  • 重启阿里云服务器后,本地点击debug即可

3、其他
这是写的用于debug重启得脚本

PORT=8081

echo "kill old service"
kill -9 $(lsof -n -P -t -i:$PORT)

echo ">>> mvn clean package"
mvn clean package -Dmaven.test.skip=true

echo "cd target"
cd target

echo "java -jar publicwechatdemo-0.0.1-SNAPSHOT.jar"
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005  publicwechatdemo-0.0.1-SNAPSHOT.jar > app.log &

阅读源码

1、场景

公司的一个研发项目上(用A代表),建立在某个第三方的代码上,现在我手上有第三方的源码(用B代表)。现在我要熟悉B的功能,我希望在A上Debug到第三方的源码时,跳到B上。这样方便我做笔记

2、步骤

  • B设置远程Debug模式
    1577187001210.png
  • A的启动设置上添加上面红色的信息
    1577187051425.png

  • 这个时候,一定要Run启动,千万不能DeBug启动,你会在A的启动日志找到如下信息,即表达式成功
    1577187130881.png

评论