美文网首页程序员
IntelliJ远程调试教程

IntelliJ远程调试教程

作者: winwill2012 | 来源:发表于2015-12-18 13:56 被阅读1211次

概述

对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种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这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。



本文首发于我的个人技术博客:http://qifuguang.me/2015/09/18/IntelliJ远程调试教程
如果你喜欢我的文章,请关注我的微信订阅号:“机智的程序猿”,更多精彩,仅在其中:

相关文章

  • jvm-doc

    IntelliJ远程调试教程 附录 第二章 jdk8工具集 https://docs.oracle.com/jav...

  • IntelliJ远程调试教程

    概述 对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log...

  • 关于Intellij和eclipse 远程debug的使用姿势

    Intellij和eclipse的远程debug 均是基于JVM JPDA的调试 1. 远程debug使用方式: ...

  • Idea重构

    Intellij idea使用教程与心得 Intellij idea的调试总结 Idea重构 IDEA模板与对比

  • idea intellij 远程调试

    服务器端 jar 包启动调试端口 5005 intellij idea新建 remote 启动配置远程启动后, ...

  • 在IntelliJ IDEA中远程断点调试tomcat

    如何在IntelliJ IDEA中远程断点调试tomcat?以下是整理的步骤: tomcat/bin目录新建set...

  • 使用IntelliJ进行远程调试

    1首先进入IntelliJ的Edit Configurations 2添加Remote 3设置服务器java vm...

  • IntelliJ远程调试Tomcat服务

    一、编辑tomcat jvm参数 二、配置IntelliJ 填写远程机器的IP、和上方JVM参数中的address值

  • Intellij IDEA远程调试Tomcat

    1.创建work账号并安装tomcat root启动的tomcat进程不支持远程调试 ,因此新建一个work账号 ...

  • 2019-07-15

    花了一周多时间最详细的整理了PHPSTORM+XDEBUG的调试教程,实现了php程序的远程调试、单步调试、跟踪等...

网友评论

    本文标题:IntelliJ远程调试教程

    本文链接:https://www.haomeiwen.com/subject/dymphttx.html