springboot 远程debug 服务器jps
时间: 2025-05-14 13:00:48 浏览: 25
### 远程调试 Spring Boot 应用程序
要在远程服务器上通过 `jps` 和其他 JVM 工具来调试 Spring Boot 应用程序,可以按照以下方法操作:
#### 启动应用程序并启用远程调试支持
为了能够进行远程调试,启动 Spring Boot 应用时需要添加特定的 JVM 参数。这些参数允许 IDE 或其他调试工具连接到运行中的 Java 进程。
以下是启动命令的一个示例:
```bash
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 \
-jar springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev [^1]
```
在此命令中:
- `-agentlib:jdwp=...` 是用于配置远程调试的关键部分。
- `transport=dt_socket`: 使用套接字传输协议。
- `server=y`: 表明此进程作为服务器端接受调试器连接。
- `suspend=n`: 不暂停应用程序直到调试器附加(如果设置为 `y`,则会等待调试器连接后再继续执行)。
- `address=*:5005`: 指定监听地址和端口(此处为所有网络接口上的 5005 端口)。
#### 查找正在运行的应用程序 PID
在远程服务器上可以通过 `jps` 命令查找目标 Spring Boot 应用程序的进程 ID (PID)。假设已经成功部署了名为 `MonitorTuningApplication` 的 Spring Boot 应用,则可以在终端输入如下命令获取其 PID:
```bash
jps -lv | grep MonitorTuningApplication [^3]
```
上述命令将返回类似于下面的结果:
```
<process-id> com.imooc.monitor_tuning.MonitorTuningApplication ...
```
其中 `<process-id>` 即为目标应用对应的唯一标识符。
#### 配置本地开发环境以实现远程连接
下一步是在本地集成开发环境中完成必要的设置以便于与远端服务建立通信链路。例如,在 IntelliJ IDEA 中可通过以下步骤达成目的:
1. 打开菜单项 **Run -> Edit Configurations...**
2. 添加新的 Remote Debugging Configuration 并指定主机名以及先前定义好的侦听端口号(即本案例里的 *localhost* 及 port number 如 5005)。
3. 设置断点后点击绿色三角形按钮即可触发实际链接过程并与线上实例同步交互数据流。
#### 利用局部变量表定位问题根源
当进入具体的函数调用场景下排查错误原因或者优化性能瓶颈期间,可能需要用到更深层次的技术手段比如查看当前线程堆栈信息或者是内存分配情况等等。此时就可以借助前面提到过的那些专门针对Java虚拟机设计出来的诊断类实用程序来进行辅助分析工作了。比如说利用 `jstack` 获取完整的线程转储文件从而快速发现死锁现象;又或是运用 `jmap` 导出整个heap dump进而深入研究对象之间的关系结构图谱等。而关于局部变量存储位置的知识点可以从参考资料里找到详尽描述说明文档查阅学习相关内容[^4]。
---
###
阅读全文
相关推荐



















