工作中,遇到问题的时候,想知道上下文中对应的参数值是什么?这时候,1、我们可以全靠逻辑分析。费脑,不一定对。2、打印日志,打印的信息不一定全,换包,麻烦3、远程debug。
1、配置idea的debug
edit configuration -> romote
host:这里配置服务器的ip地址
port:指定的端口
不同的jdk版本命令不同
jdk5-jdk8
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
jdk9 or later
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
2、服务运行已debug的方式
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 java-core-1.0-SNAPSHOT.jar
3、本地启动debug
然后就可以像本地启动服务进行debug调试。
注意关闭防火墙
systemctl status firewalld
systemctl stop firewalld
查看debug启动后,是否有服务连接
netstat -anlp|grep 5005