IntelliJ远程调试教程
来源:互联网 发布:如何解除单位网络权限 编辑:程序博客网 时间:2024/05/19 19:13
对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种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这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。
- IntelliJ远程调试教程
- IntelliJ远程调试教程
- IntelliJ远程调试教程
- IntelliJ远程调试教程
- intellij idea远程debug调试resin4教程
- 34.IntelliJ IDEA 远程调试 Tomcat - IntelliJ IDEA 使用教程
- intellij远程调试
- IntelliJ IDEA远程调试
- 使用 IntelliJ 远程调试 HDFS
- Intellij Idea远程调试小记
- Intellij IDEA远程调试tomcat
- (九)Intellij 远程调试
- intelliJ IDEA 远程调试配置
- IntelliJ IDEA 远程调试Hadoop
- IntelliJ IDEA + tomcat 远程调试
- Eclipse远程调试教程
- intellij IDEA下远程调试hadoop
- 使用 intellij idea 进行远程调试
- zookeeper<集群环境搭建>
- Java守护线程简介
- 剑指offer 22---判断元素出栈、 入栈顺序的合法性
- 进程间通信-匿名管道
- Java transient关键字解析
- IntelliJ远程调试教程
- Linux远程执行hostname命令,监控服务器是否被篡改
- WebService教程详解
- Hadoop和Spark的处理模型比较
- docker build命令详解
- mac 下安装php7全过程
- Disruptor简介
- raise errorclass(errno, errval) sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1366, u"
- Vue关于数据绑定出错