IntelliJ IDEA Debug工具的使用

原文地址:https://program-park.github.io/2022/02/06/idea_1/

1. 如何进入Debug模式

  鼠标单击在需要停止的代码处打上断点:

在这里插入图片描述
  右键本地运行程序的时候,选择 debug 模式运行:

在这里插入图片描述

2. Debug模式界面

在这里插入图片描述

3. Debug调试相关快捷键

在这里插入图片描述

4. 扩展:IDEA远程Debug

  生产环境中,MapReduce 程序通常在 yarn 模式下运行,是一种分布式执行的环境。可以通过远程调试的方式在 IDEA 中进行 debug。

4.1 Linux集群启动监听服务

  要想通过远程断点调试,那么首先得在远程服务器端启动MapReduce任务的时候需要先暂停并开启一个监听服务,等待客户端的连接调试,可以通过设置运行时 JVM 的参数来搞定:
  -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000
  该命令参数是 JDK 自带的,可以通过java -agentlib:jdwp=help来查看 agentlib 各参数的具体说明,其中address=8000表示监听端口为 8000。

在这里插入图片描述
  针对上述参数,可以使用shell临时变量进行设置

export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"

  在运行 MapReduce 程序的时候,可以发现启动程序暂定了并且开启了服务监听端口 8000:

在这里插入图片描述

4.2 Windows本地IDEA配置

  在 IDEA 中新建一个远程 Debug 调试配置:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  Debug 运行即可开始远程的调试 MapReduce 任务执行过程了

在这里插入图片描述
  后面的使用跟本地 dubug 类似,只不过此时程序是在远程服务器上运行的。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
IntelliJ是一款面向Java开发的集成开发环境(IDE),提供了许多高级的debug技巧,用于帮助程序员更好地调试代码。以下是其中一些重要的高级debug技巧: 1. 条件断点:在断点处添加条件,只有当该条件满足时,程序才会停止执行。这可以帮助我们找到特定的问题或者只在满足某些条件时进行调试。 2. 日志断点:在代码中设置一个断点,但是不会停止程序的执行。相反,它会在执行时生成一个日志消息,可以帮助我们更好地了解程序的执行流程。 3. 远程调试:IntelliJ可以通过远程调试功能连接到远程服务器或者其他设备上的程序。这样,我们可以在本地IDE中进行断点调试,以便更好地定位和解决问题。 4. 多线程调试:在多线程程序中调试是一项具有挑战性的任务。IntelliJ提供了一些有用的功能,如线程窗口、锁对象监视和线程停止等,可以帮助我们更好地理解和调试多线程代码。 5. 内存探查器:IntelliJ还内置了内存探查器,可以显示程序在运行时的内存使用情况,包括内存泄漏和不合理的内存分配等问题。这可以帮助我们优化程序的内存使用。 6. 调试复杂表达式:在调试过程中,有时候我们需要查看和计算一些复杂的表达式的值。IntelliJ提供了一个“表达式查看器”,可以在调试过程中动态评估和显示表达式的结果。 总的来说,IntelliJ的高级debug技巧可以帮助程序员更好地理解和修复代码中的问题。通过合理利用这些技巧,我们可以更快速、高效地调试代码,并提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大Null

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值