JAVA远程调试
Posted 殁舞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA远程调试相关的知识,希望对你有一定的参考价值。
1、远程端启动必须添加jvm参数
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}
其中debug_port为自定义的调试端口
2、
本地连接远程服务器debug端口
打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中host为远程代码运行的机器的ip/hostname,port为上一步指定的debug_port,本例是5555
然后点击Apply,最后点击OK即可
启动debug模式
现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote的名字,然后点击右边的debug按钮(长的像臭虫那个),看控制台日志,如果出现类似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字样,就表示连接成功过了。
设置断点,开始调试
远程debug模式已经开启,现在可以在需要调试的代码中打断点了,比如:
如图中所示,如果断点内有√,则表示选取的断点正确。
现在在本地发送一个到远程服务器的请求,看本地控制台的bug界面,划到debugger这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。
新增tomcat开启远程调试
tomcat已提供相关功能,需要在catalina.sh中修改一下ip+port(远程服务的ip地址和调试端口)即可,
启动方式为
./catalina.sh jpda start
以上是关于JAVA远程调试的主要内容,如果未能解决你的问题,请参考以下文章