前言

对于初入职场的萌新们来说,很多都还不会 Debug 断点模式。记得我刚写代码的时候,也是通过 System.out.println() 一行一行的把变量打印出来看。其实强大的编辑器已经帮我们做好了这个功能。今天就带大家了解一下这个功能。Debug 能让我们调试代码的时候如鱼得水步步高升。我是用的 idea 版本是 2020.1,每个版本可能略有差异,但是这并不影响我们的骚操作。

1.调试步骤

1.1 打断点

1.2 Debug模式运行

2.调试结果界面详解

2.1 Rerun

这个就是结束debug模式,直接以run的方式重新跑某个程序。


2.2 Resume

直接跑完, 到下一个断点停下, 没有就直接跑完程序。


2.3 Stop

停止项目或者程序。


2.4 View Breakpoints

查看所有的断点设置情况


项目中有时候打的断点多了,容易找不到断点的位置,这个按钮能够知道项目中所有的断点位置。效果如下:


2.6 Mute Breakpoints

直接取消所有断点. 让所有断点无效。


这个按钮可以使所有的断点失效,达到快速调试的目的。再次点击断点恢复生效。断点失效如下:


2.7 Show Execution Point

跳转到当前代码所执行的地方。 也就是说你在看代码的时候.,点到其他地方,点击这个按钮,光标就回到了程序执行到当前代码的地方。


2.8 Step over

下一步 如果是方法. 他是不会跳进去的。就是在当前代码一行行的往下走。直到程序结束


2.9 Step into

跳转到详情。如果下一行调试代码是可执行方法, 就可以点这个按钮进到方法内部去,查看这个方法的运行详细情况。只能进入你自己写的方法


当我们在 23 行时需要进到方法内部去看 numberAdd 执行过程的时候,这个按钮就能跳转到方法内部,执行完毕,dubug 断点会再次回到 23 行处。效果如下:


2.10 Force Step Into

暴力进入方法内部,一句话:Step Into 能做的,它能做,Step Into 不能做的,它也能做。非常适合用来调试第三方源代码。


2.11 Step out

从详情跳出去. 和上面的9相反。


点击 Step In 会进到方法内部,点击 Step Out 会回到最初的执行位置。效果如下:


2.12 Run to cursor

跳转到那个光标所在的地方,前提是他能路上没断点拦着(这个也很好用的,可以直接跳到下一个断点处)。


Run to Cursor 强大之处在于直接跳转,不用一行一行往下执行 Dubug 。效果如下:


2.13 Evaluate Exepression

这个点开之后. 可以计算你想要看的代码段的值。它能获取你想要的一切.


这个功能,相当于在 Dubug 的时候,在给 Debug 做一遍 Debug 。在字符串拼接的时候特别好用。计算效果效果如下:


不仅如此,还能展开面板,进行代码编写,相当强大。效果如下:


2.14 Drop Frame

有时候当我们步入方法体之后. 还想回退到方法体外. 点这个按钮后. 断点重新回到方法体之外。在继续还是可以再次进到方法内(这个很好的. 假设你手快. 跳过想断点的方法. 然后这个drop frame. 出去之后. 就可以再次debug啦。这个很是着重介绍一下, 就算你只打一个断点, 一不小心跑了,不怕,点这个退出,然后再执行,还是会再次进入断点的。这个很管用的, 要是不知道的话 ,就的再从头到尾的执行一遍, 很是麻烦。世界上没有后悔药,但是 Drop Frame 却可以重开。)

IntelliJ IDEA 2020.1.1 x64 Debug 断点调试模式详解的更多相关文章

  1. C# trace debug TraceListener调试信息详解

    在C#编程中,可能要碰到把调试信息输出的问题,我们可以自己把信息显示在某个控件上,但是MS自己提供了一套机制帮助我们输出一些调试信息,这些信息有助于我们判断程序的走向,不用自己再去额外写调试代码了. ...

  2. (转)Intellij IDEA 2017 debug断点调试技巧与总结详解篇

    背景:详细介绍idea的debug调试过程 Intellij IDEA 2017 debug断点调试技巧与总结详解篇

  3. debug断点调试

    debug断点调试  1,虫子启动2,F6   执行断点的下一步,下一个语句     F5    进入方法     F8   执行到结束    查看表达式的值:选中查看的表达式,接着按   ctrl ...

  4. Intellij IDEA 2017 debug断点调试技巧与总结详解篇

    转载自csdn----------------------------------------------------------------------https://blog.csdn.net/q ...

  5. Eclipse debug断点调试代码时出现source not found问题

    偶尔调试代码的时候会出现这种事情,之前并没有特别注意,今天稍微搜集一下相关资料: 1.跳转到的代码的确没有源码,下载源码后选择源码位置后便会正常显示源码. 2.源码和class文件不一致.即便勾选了a ...

  6. myeclipse下对tomcat项目进行debug断点调试

    对于eclipse或myeclipse调试J2SE项目或小应用进行断点调试,大家都不陌生,只要设置断点,debug运行就OK了.但是如果是web项目,而项目是在容器中运行的,比如tomcat,resi ...

  7. 解决Eclipse Debug 断点调试的source not found问题

    写完代码进行调试的时候,经常会用到断点调试,一步步检测问题,但有时候eclipse有时候无法进入断点,这样就失去了断点的意义,原因是debug无法找到该项目的源代码,解决方法如下 1,打开debug ...

  8. 关于Eclipse Debug断点调试出现 Search not found 页面的解决办法

    1. 在代码中鼠标右键 Debug AS ---> Debug Configurations... ----> 找到Source选项  ---> 点击add ---> 选择 j ...

  9. IDEA中 Debug 调试工具(图文详解)

    DEBUG调试工具 一. Debug 调试工具 1. Debug的作用 2. Debug的使用步骤 3. IDEA中Debug按钮详解 总结 参考博文:https://blog.csdn.net/qq ...

随机推荐

  1. Linux_spool命令

    spool的作用是什么? spool的作用可以用一句话来描述:在sqlplus中用来保存或打印查询结果. 参数指南 对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: ...

  2. NSURLSessionDownloadTask实现大文件下载

    - 4.1 涉及知识点(1)使用NSURLSession和NSURLSessionDownload可以很方便的实现文件下载操作 第一个参数:要下载文件的url路径 第二个参数:当接收完服务器返回的数据 ...

  3. Spring Cloud中使用Eureka

    一.创建00-eurekaserver-8000 (1)创建工程 创建一个Spring Initializr工程,命名为00-eurekaserver-8000,仅导入Eureka Server依赖即 ...

  4. 【编程思想】【设计模式】【行为模式Behavioral】观察者模式Observer

    Python转载版 https://github.com/faif/python-patterns/blob/master/behavioral/observer.py #!/usr/bin/env ...

  5. 【Spring Framework】Spring入门教程(八)Spring的事务管理

    事务是什么? 事务:指单个逻辑操作单元的集合. 在操作数据库时(增删改),如果同时操作多次数据,我们从业务希望,要么全部成功,要么全部失败.这种情况称为事务处理. 例如:A转账给B. 第一步,扣除A君 ...

  6. linux下把一个用户从某个组中删除,而不删除用户

    查看当前用户/登录用户 基本语法 whoami / who am I 用户组 介绍 类似于角色,系统可以对有共性的多个用户进行统一的管理. 新增组 语法 groupadd 组名 案例演示 添加test ...

  7. 接下来一段时间会对大家进行网络通信的魔鬼训练-理解socket

    引子 下一篇标题是<深入理解MQ生产端的底层通信过程>,建议文章读完之前.或者读完之后,再读一遍我之前写的<RabbitMQ设计原理解析>,结合理解一下. 我大学时流行过一个韩 ...

  8. 玩转 Mockjs,前端也能跑的很溜

    ​ mockjs作用就是,生成随机模拟数据,拦截 ajax 请求,可以对数据进行增删改查.在生成数据时,我们就需要能够熟练使用 mock.js 的语法. Mockjs 的语法规范包括两部分:数据模板定 ...

  9. Svelte入门——Web Components实现跨框架组件复用(二)

    在上节中,我们一起了解了如何使用Svelte封装Web Component,从而实现在不同页面间使用电子表格组件. Svelte封装组件跨框架复用,带来的好处也十分明显: 1.使用框架开发,更容易维护 ...

  10. 初识shellcode

    以前只是知道shellcode就是一段恶意代码,直到今天学习了shellcode的知识,才发现这东西真是博大精深.同时也学习到了一些新的指令,在这里记录一下. 通常pwn题目就是为了拿到shell,目 ...