学习
实践
活动
工具
TVP
写文章
专栏首页全栈程序员必看IntelliJ IDEA 远程debug调试

IntelliJ IDEA 远程debug调试

大家好,又见面了,我是你们的朋友全栈君。

远程DEBUG的必要性

由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可供选择的手段——远程调试——将程序在测试环境中以debug模式启动,在本机使用IDEA在工程中设置断点进行调试。

需要准备内容

如果是Maven项目在pom.xml中添加下面参数

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<configuration>
				<jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,address=9087,server=y,suspend=n</jvmArguments>
			</configuration>
		</plugin>
	</plugins>
</build>

或者在启动jar的时候在启动参数上添加 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9087

具体参数详解: -Xdebug 通知JVM工作在DEBUG模式下; -Xrunjdwp 通知JVM使用(Java debug wire protocol)运行调试环境。该参数同时包含了一系列的调试选项; transport 指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台; address 调试服务器的端口号,客户端用来连接服务器的端口号; server=y/n VM 是否需要作为调试服务器执行; suspend=y/n 是否在调试客户端建立连接之后启动 VM;

演示

远程项目启动后本地直接

然后把断点打好就行 ,就和在本地使用效果一样

注意: 本地文件内容必须和远程项目的文件内容一致(包括位置)在使用debug过程中不能动文件内容否则那一块debug会失效

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195212.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • Intellij IDEA配置tomcat 远程调试 debug模式

    在catalina.sh 中添加 address 调试端口 9999 catalina.sh的位置在tocmat下的bin目录

    星尘的一个朋友
  • idea远程debug调试_eclipse远程debug

    比如我这次是需要远程debug presto程序,然后在presto目录下的etc/jvm.config中添加了如下一行命令

    全栈程序员站长
  • Intellij IDEA Debug 调试技巧

    F8: 跳到下一步 F7:进入到代码 Alt+shift+F7:强制进入代码 Shift+F8:跳到下一个断点 Atl+F9:运行到光标处 ctrl+shift...

    Java技术栈
  • Intellij idea远程debug连接tomcat,实现单步调试

    web项目部署到tomcat上之后,有时需要打断点单步调试,如果用的是Intellij idea,可以通过如下方法实现: 开启debug端口,启动tomcat ...

    程序员欣宸
  • idea配置远程debug_idea远程调试

    在工作中经常会遇到本地运行没有问题,部署到环境上就会出现问题,很多时候也没有错误日志,所以可以使用远程debug的方式,像本地debug一样,debug...

    全栈程序员站长
  • idea远程debug配置_debug调试工具

    2. 若应用以war包方式启动,则将启动参数添加到catalina.sh脚本中

    全栈程序员站长
  • idea远程debug配置_debug调试教程

    最近发现工作的项目竟然不能本地跑,只能在预发环境测试,那只能远程debug了,所以写个博客记录一下。

    全栈程序员站长
  • Tomcat使用IDEA远程Debug调试

    2、address=60222 这个是后边IDEA设置的时候需要用到的调试端口,可以任意设置一个未使用的端口,但是后边的配置都要一致.

    Java后端技术
  • Tomcat使用IDEA远程Debug调试[通俗易懂]

    2、address=60222 这个是后边IDEA设置的时候需要用到的调试端口,可以任意设置一个未使用的端口,但是后边的配置都要一致.

    全栈程序员站长
  • 2018-08-02 IntelliJ IDEA - Debug 调试多线程程序IntelliJ IDEA - Debug 调试多线程程序

    https://blog.csdn.net/nextyu/article/details/79039566

    Albert陈凯
  • Intellij Idea远程调试 Java代码

    线上(真-线上/测试环境)代码出了问题,总是要在本地复现,然后debug,这个过程是在是不太友好,而且线上的很多数据本地没有,经常耽误好久的时间来同步数据.

    呼延十
  • idea怎么远程debug_idea 多线程调试

    1,远程DEBUG的必要性 由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境...

    全栈程序员站长
  • Intellij IDEA基于Springboot的远程调试

    简介 本篇博客介绍一下在Intellij IDEA下对Springboot类型的项目的远程调试功能。所谓的远程调试就是服务端程序运行在一台远程服务器上,我们可以...

    程序新视界
  • IntelliJ IDEA远程调试Elasticsearch6.1.2

    在深入学习elasticsearch的过程中,遇到有疑惑的源码时,如果能打断点单步调试,往往会取得事半功倍的效果,今天的实战内容就是通过IntelliJ IDE...

    程序员欣宸
  • Debug 远程调试

    大家都知道debug本地调试,就是再自己的代码上打一个断点,然后debug运行就可以本地调试,那么远程调试就是,代码再虚拟机上运行。自己可以看到虚拟机上运行的...

    斯文的程序
  • 详述 IntelliJ IDEA 远程调试 Tomcat 的方法

    博主说:在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法。在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进...

    CG国斌
  • IDEA远程Debug

    上方的address属性代表了你要开启的debug端口,可以按需修改。 启动Tomcat

    Java学习录
  • Intellij IDEA 2019 debug断点调试技巧与总结详解

    在 “调试工具” 窗口中,您可以看到框架和线程的状态、变量和表的列表。当您选择一个框架时,您会看到与所选框架相对应的变量。

    JavaEdge
  • Intellij IDEA debug断点调试技巧与总结详解篇

    在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。

    格姗知识圈

扫码关注腾讯云开发者

领取腾讯云代金券