要让远程Java应用支持调试,需在启动命令中添加**JDWP(Java Debug Wire Protocol)**参数,告知JVM启动调试服务。常用参数组合如下:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your-application.jar
-agentlib:jdwp:加载JDWP代理库,是远程调试的核心组件;transport=dt_socket:使用Socket传输协议(跨网络通信的标准方式);server=y:将当前应用作为“调试服务器”,等待IDE(客户端)连接;suspend=n:应用启动后立即运行(不暂停),若设为y,则需等待IDE连接后才启动(适合排查启动阶段问题);address=5005:监听的调试端口(可自定义,需确保未被占用且防火墙开放)。注意:若应用运行在Docker/K8s等容器环境中,需额外映射端口(如Docker的
-p 5005:5005)或在Deployment配置中添加端口声明。
以IntelliJ IDEA(主流IDE)为例,配置步骤如下:
192.168.1.100);address端口一致(如5005);Transport: Socket、Debugger mode: Attach)。连接成功后,IDE控制台会显示提示信息(如Connected to the target VM, address: '192.168.1.100:5005', transport: 'socket'),表示已与远程JVM建立调试通道。
连接成功后,即可像调试本地应用一样操作:
list查看当前方法代码,variables查看变量值);docker run -p 5005:5005 your-image);K8s环境下,需在Deployment的spec.containers.args中添加JVM参数,并配置ports映射。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。