idea之debug调试服务器springboot项目


线上代码需与本地一样,记得要开放服务器port(防火墙作祟)

一、编写启动jar项目的shell脚本

#!/bin/sh
# 定义变量
JAR_NAME="$2.jar"
# 监听端口
ADD_PORT="$3"
# 该方法会重新启动程序
debug() {
    
    
  # 查看pid,先杀掉,再运行jar
  pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}')
  # 设置默认监听端口
  if [ -z $ADD_PORT ]; then
    ADD_PORT="51135"
    echo "......default Listen on port for DEBUG:${ADD_PORT}"
  fi
  # -z 表示为空
  if [ ! -z $pid ]; then
    kill -9 $pid
    echo ""
    echo "......kill -9 ${pid}....."
    nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$ADD_PORT -Dloader.path=lib/ -jar $JAR_NAME >debugOut.log 2>&1 &
    pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}')
    echo ""
    echo "debug Service ${JAR_NAME} is starting!newPid:${pid}, Listen on port:${ADD_PORT}"
    echo "......debug restart: success......"
    echo ""
  else 
    nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$ADD_PORT -Dloader.path=lib/ -jar $JAR_NAME >debugOut.log 2>&1 &
    pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}')
    echo ""
    echo "debug Service ${JAR_NAME} is starting!pid:${pid}, address:${ADD_PORT}"
    echo "......debug Start: success......"
    echo ""
  fi
}
# 根据输入参数执行对应方法
case "$1" in
"debug")
  debug
  ;;
esac

完整脚本请看

二、idea配置连接

Debugger mode : 选择 Attach to remote JVM
Host:你自己服务器的IP;
Port:监听端口,不要与程序的port相同
Command line arguments for remote JVM: 根据自己安装的jdk版本选择
Use module classPath:一般idea会自动选择为你的项目名称
在这里插入图片描述

三、测试

1、使用工具:网络调试助手、配合postman测试接口也阔以

网络调试助手下载地址 密码: mkd7
Netty服务嘞

2、Linux运行jar项目

[root@kong demo]# ls
demo_logs  lib  demo-1.2.jar  start.sh
[root@kong demo]# sh start.sh debug demo-1.2
......default Listen on port for DEBUG:51135

debug Service demo-1.2.jar is starting!pid:23084, address:51135
......debug Start: success......
[root@kong demo]# 

[root@kong dust]# sh start.sh debug demo-1.2 12364

......kill -9 23084......

debug Service demo-1.2.28.jar is starting!newPid:23234, Listen on port:12364
......debug restart: success......

[root@kong dust]# 

3、工具与idea 测试

在这里插入图片描述
作为一名小猿你还用Windows吗,那就…,用不起mac的wo,使用deepin也贼香!!!!!!!!

猜你喜欢

转载自blog.csdn.net/qq_42476834/article/details/113113317