这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此。

先编译好要调试的程序。

1.设置断点

选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

2.开启调试会话

点击红色箭头指向的小虫子,开始进入调试。

IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。

3.单步调试

3.1 step over

点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

3.2 step into

点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。具体步骤如下:

在自定义方法发f1()处设置断点,执行调试

点击

3.3 Force step into

该按钮在调试的时候能进入任何方法。

3.4 step out

如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

3.5 Drop frame

点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。

4. 高级调试

4.1 跨断点调试

设置多个断点,开启调试。

想移动到下一个断点,点击如下图:

程序将运行一个断点到下一个断点之间需要执行的代码。如果后面代码没有断点,再次点击该按钮将会执行完程序。

4.2 查看断点

点击箭头指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性。

箭头1指向的是你曾经设置过的断点,箭头2可以设置条件断点(满足某个条件的时候,暂停程序的执行,如 c==97)。结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。

4.3 设置变量值

调试开始后,在红箭头指向的区域可以给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue...)。这个功能可以更加快速的检测你的条件语句和循环语句。

转载于:https://www.cnblogs.com/printN/p/6265062.html

Intellij IDEA调试相关推荐

  1. intellij远程调试_IntelliJ中的远程调试Wildfly应用程序

    intellij远程调试 远程调试Java应用程序意味着使用本地开发环境连接到远程运行的应用程序. Java开箱即-agentlib:jdwp[=options]支持远程调试:目标应用程序必须使用-a ...

  2. Apache Spark源码走读(九)如何进行代码跟读使用Intellij idea调试Spark源码

    <一>如何进行代码跟读 概要 今天不谈Spark中什么复杂的技术实现,只稍为聊聊如何进行代码跟读.众所周知,Spark使用scala进行开发,由于scala有众多的语法糖,很多时候代码跟着 ...

  3. 起飞,会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了

    前言 上一篇文章 IntelliJ IDEA 高级调试之Stream Trace 算是 IntelliJ IDEA 高级调试技巧的开胃菜,很多小伙伴被这个小技巧征服.趁热打铁,今天给大家带来几个我日常 ...

  4. 【转载】IntelliJ远程调试教程

    原文链接:https://www.cnblogs.com/wy2325/p/5600232.html 概述 对于分布式系统的调试不知道大家有什么好的方法.对于我来说,在知道远程调试这个方法之前就是在代 ...

  5. Intellij IDEA调试功能使用总结

    这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可. 2.开启调试会话 ...

  6. 04-20.eri-test GKE(Google K8S Engine)上的Intellij远程调试Java应用程序

    Prepare the docker image 为了调试Java应用程序,我们需要向远程应用程序添加一些命令行参数. 在kubernetes部署有效负载中设置参数 DEBUG_OPTIONS=&qu ...

  7. 手机调试java代码_【奇技淫巧】Intellij IDEA调试ysoserial等Java项目的方法

    maven-assembly-plugin就是一个用来打包项目的插件,可以把依赖.类文件什么的都打包在一起.这里的mainClass的值是 ysoserial.GeneratePayload ,这个就 ...

  8. 这 5 条 IntelliJ IDEA 调试技巧太强了!

    一.条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值. 参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可 ...

  9. (十)Intellij 远程调试 a bug

    接上篇文章:http://blog.csdn.net/lovesummerforever/article/details/50327445 经常使用第一种远程调试方法,也就是不改动任何的配置文件,使用 ...

最新文章

  1. windows版本下使用xdebug
  2. CAD中dwg转dxf
  3. java 编码二进制写法、十六进制用源代码表示
  4. .NET 关于Geometry转GeoJson
  5. Vista操作系统评估参考资料
  6. php项目列表,php – 如何获取类似项目的列表
  7. 【转】The test form is only available for requests from the local machine 解决方法
  8. java 调用 r, Can't find dependent libraries
  9. 【字幕制作】从IDX/SUB到PGS的小白入门教程
  10. [从头读历史] 第262节 左传 [BC597至BC538]
  11. docker update修改内存/cpu
  12. Hudi Timeline简析
  13. day03 数据预处理
  14. Spring Cloud 五大组件
  15. Hive创建表的过程详细过程
  16. 高质量的视频播放往往只需要一个m3u8文件 视频流搞起来
  17. 2019.12.31罗振宇2020年跨年演讲《时间的朋友》精华全文版本——思维决定一个人的上限,能力决定一个人的下限
  18. 那些你很冒险的梦 我们陪你一起去疯
  19. 牛客小白月赛6 G.指纹锁
  20. 动态磁盘和基本磁盘的简要介绍

热门文章

  1. java 异常堆栈输出_打印Java异常堆栈信息
  2. 对某钓鱼网站的一次渗透测试
  3. Linux和Windows下使用printf的差别
  4. 基于Java线程池读取数据库中数据(学习+运用)
  5. 《数据库SQL实战》找出所有员工当前薪水salary情况
  6. python数字图像处理-图像噪声与去噪算法
  7. Java学习小程序(10)三个等级的才字母游戏
  8. 数据抽象能力---适合任何行业
  9. javascript中0级DOM和2级DOM事件模型浅析
  10. JSON学习笔记(一)- 语法