本地连接远程服务器debug端口

打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中Name填写名称,这里为remote webserver,host为远程代码运行的机器的ip/hostname。然后点击Apply,最后点击OK即可


idea 搭建微服务架构 idea 服务器开发_远程服务器

 

 

idea 搭建微服务架构 idea 服务器开发_远程服务器_02

 

 

prot写自己的就行,注意,这个不是项目启动的端口号!!!!!

启动的时候复制这段话,修改命令:nohup  java     -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5555 -jar mapping-integration-1.0-SNAPSHOT.jar --server.port=9208 > log/mapping-integration.log &

idea 搭建微服务架构 idea 服务器开发_jar_03

 

 

 

 

 

本地IDEA启动debug模式

现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote webserver,然后点击右边的debug按钮,看控制台日志,如果出现类似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字样,就表示连接成功了,如果报错出现连接不上,看看是不是启动命令忘记添加上面那段话了,然后重新点击debug。

设置断点,开始调试

远程debug模式已经开启,现在可以在需要调试的代码中打断点了,比如:

idea 搭建微服务架构 idea 服务器开发_java_04

 

 


 

如图中所示,如果断点内有√,则表示选取的断点正确。

现在在本地发送一个到远程服务器的请求,看本地控制台的bug界面,划到debugger这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。


 

idea 搭建微服务架构 idea 服务器开发_jar_05

 

 

备注:需要注意的是,用于远程debug的代码必须与远程部署的代码完全一致,不能发生任何的修改,否则打上的断点将无法命中。