文章目录
- 前言
- 一、使用步骤
- 1.首先通过nohup在启动jar包的我们可以添加参数:
- 2.具体参数的含义如下:
- 3. 查询监听的端口:
前言
在工作中,排查问题我们经常需要进行debug,而远程debug能够方便的帮助我们排查线上的问题。
一、使用步骤
1.首先通过nohup在启动jar包的我们可以添加参数:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=15599
2.具体参数的含义如下:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n 是 Java 虚拟机(JVM)启动时的一个选项,用于启用 Java 远程调试功能。这个选项用于连接远程调试器,使开发人员可以在运行中的应用程序上设置断点、观察变量和进行调试。
具体的参数含义如下:
transport=dt_socket: 使用套接字方式进行通信,即通过网络连接进行远程调试。
server=y: 将 JVM 设置为等待远程调试器连接。
suspend=n: 不暂停 JVM 启动,允许远程调试器立即连接。
这个选项通常用于在开发和测试阶段,当需要对应用程序进行调试时。通过在启动命令中添加这个选项,您可以启动一个等待远程调试连接的 JVM,然后使用远程调试器(如 Eclipse、IntelliJ IDEA 等)连接到这个 JVM 进行调试。
请注意,在生产环境中不应该启用远程调试,因为它可能会导致安全风险和性能问题。在部署到生产环境之前,确保将这个选项禁用或移除。
3. 查询监听的端口:
- 首先通过 ps -ef |grep java 查询我们启动jar包的端口号
- 然后通过netstat -anp |grep ‘PID’ 查询出监听的端口
3. 当然通过我们前面加的启动参数:
agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=15599
也可以确定我们监听的端口。