IntelliJ远程调试教程

来源:互联网 发布:德比软件员工不思进取 编辑:程序博客网 时间:2024/05/28 11:49

概述

对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。以Thrift入门教程这篇文章中使用的程序作为例子。这个程序由Thrift服务端和客户端组成。描述一下远程调试需要解决的问题:

服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态。

下面按照步骤介绍怎么远程debug。

使用特定JVM参数运行服务端代码

要让远程服务器运行的代码支持远程调试,则启动的时候必须加上特定的JVM参数,这些参数是:

-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}

其中的${debug_port}是用户自定义的,为debug端口,本例以5555端口为例。

本地连接远程服务器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这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机改wifi密码 电脑设置密码 路由器改密码 wifi密码怎么改 怎样绕过密码进入手机 设置开机密码 wifi密码查看 社保卡初始密码 清除锁屏密码 手机wifi密码 数字密码大全 怎么找回密码 网站登录密码 密码怎么设置 维吉尼亚密码 密码的英语单词 密码英语怎么说 密码的英文单词 密码管理软件 可以看密码的wifi软件 密码用英语怎么说 zip压缩文件密码清除 保险箱密码忘了 独立团教程密码 tplongin页面设置 tplogin设置 mima 密钥是什么 tplogin登录 一键清除锁屏密码 电脑设置开机密码 路由器怎么改密码 19216811设置密码 怎么查看wifi密码 电脑怎么设置密码 蓝牙耳机匹配密码 行李箱怎么改密码 输入账号直接看密码 青骄第二课堂账号密码登录 手机改自己家wifi密码 怎么解压缩文件密码