IDEA的Debug详解
01_Debug简介和意义
什么是程序DeBug?
Debug,是程序开发人员必会的一项调试程序的技能。
企业中程序开发和程序调试的比例为1:1.5,可以说如果你不会调试程序,你就没有办法从事编程工作。
Debug能帮助我们做什么?
追踪代码的运行流程。
程序运行异常定位。
线上问题追踪。
Debug对于程序学习者的意义
通过调试能够更好的查看程序的执行流程。
复杂的程序逻辑,通过老师的口述讲解,很难理解清楚,这个时候借助调试能够很好的帮助同学们理解程序。
定位问题,提高自我解决问题的能力。
02_IDEA中的Debug步骤
设置断点(F9)
调试程序(8个按钮)

观察变量
查看变量有三种方式:
程序区查看变量
Debugger的Variables中查看变量
鼠标悬停到变量名上会弹出当前变量的值

查看输出
03_跳转到当前代码执行的行
跳转到当前代码执行的行(Alt + F10)
作用
使程序窗口切换到当前正在运行的程序处。
04_步过调试的使用
步过调试
步过调试按钮(F8)

作用
步过,一行一行地往下走,如果这一行上有方法不会进入方法。
常用于调试过程中不想进入调用的方法体的情况。
05_步入调试的使用
步入调试
步过调试按钮(F7)

作用
步入,一行一行地往下走,如果这一行上有方法,则进入方法内部。
一般用于进入自定义方法内,不会进入官方类库的方法。
06_强制步入调试的使用
强制步入调试
强制步入调试按钮(Alt + Shift + F7)

作用
进入官方类库方法
帮助我们学习和查看JDK源码
07_步出调试的使用
步出调试
步出调试按钮(Shift + F8)

作用
从方法内退出到方法调用处。
调试的时候,有时候会跳入到自己不想查看的方法体,这个时候使用步出。
08_回退断点调试的使用
回退断点
回退断点按钮

作用
回退到当前方法的调用处。
当想重新查看该方法体的执行过程时,不用重新启动Debug,可以使用回退断点方式。
09_运行到光标处
运行到光标处
运行光标处按钮 (F9)

作用
使程序运行到光标处,而无需设置断点。
10_计算表达式
计算表达式
计算表达式按钮(Alt + F8)


作用
设置变量,在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况了。
11_条件断点
条件断点
右键单击断点处,可以设置进入断点的条件

作用
通过设置断点条件,在满足条件时,才停在断点处,否则直接运行。
12_多线程调试
步骤
多线程调试,需要调整断点挂起级别为Thread

Frame中选择线程进行调试
IDEA的Debug详解的更多相关文章
- Android签名详解(debug和release)
		
Android签名详解(debug和release) 1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包 ...
 - 汇编debug工具详解
		
关于debug工具里的各个指令的用法 debug调试工具详解: r:可以查看,和改变寄存器中的内容具体用法:·直接输入r的时候,回车显示当前指向内存单元中所有寄存器中的内容,并将所指机器码翻译成汇编指 ...
 - Android调试桥-Android Debug Birdge详解
		
原文:http://android.eoe.cn/topic/summary Android调试桥-Android Debug Birdge Android调试桥(adb)是一个多功能的命令行功具,它 ...
 - 转: Android 软件开发之如何使用Eclipse Debug调试程序详解(七)
		
转自: http://www.uml.org.cn/mobiledev/201110092.asp Android 软件开发之如何使用Eclipse Debug调试程序详解(七) 发布于2011- ...
 - 【转】 C# DEBUG 调试信息打印及输出详解
		
[转] C# DEBUG 调试信息打印及输出详解 1.debug只在[debug模式下才执行](运行按钮后面的下拉框可选) 2.debug提供了许多调试指令,如断言 System.D ...
 - (转)Intellij IDEA 2017 debug断点调试技巧与总结详解篇
		
背景:详细介绍idea的debug调试过程 Intellij IDEA 2017 debug断点调试技巧与总结详解篇
 - Intellij IDEA中使用Debug调试详解
		
转载:https://www.linuxidc.com/Linux/2017-09/146772.htm Intellij IDEA中使用Debug调试详解 Debug用来追踪代码的运行流程,通常 ...
 - IntelliJ IDEA 2020.1.1 x64 Debug 断点调试模式详解
		
前言 对于初入职场的萌新们来说,很多都还不会 Debug 断点模式.记得我刚写代码的时候,也是通过 System.out.println() 一行一行的把变量打印出来看.其实强大的编辑器已经帮我们做好 ...
 - IDEA中 Debug 调试工具(图文详解)
		
DEBUG调试工具 一. Debug 调试工具 1. Debug的作用 2. Debug的使用步骤 3. IDEA中Debug按钮详解 总结 参考博文:https://blog.csdn.net/qq ...
 
随机推荐
- PHP strtr() 函数
			
实例 把字符串中的字符 "ia" 替换成 "eo":高佣联盟 www.cgewang.com <?php echo strtr("Hilla W ...
 - Skill 返回一个数字list的大小排序信息
			
https://www.cnblogs.com/yeungchie/ code procedure(ycSortList(numlist) prog((size sort) foreach(main ...
 - 死磕HashMap
			
前言 HashMap是Java中最常用的集合类框架,也是Java语言中非常典型的数据结构,同时也是我们需要掌握的数据结构,更重要的是进大厂面试必问之一. 数组特点 存储区间是连续,且占用内存严重,空间 ...
 - 【HDU5869】 Different GCD Subarray Query 题解 (线段树维护区间GCD)
			
题目大意:求区间$[L,R]$中所有子区间产生的最大公因数的个数. ------------------------- 对于$gcd$,我们知道$gcd(a,b,c)=gcd(gcd(a,b),c)$ ...
 - python的单下划线和双下划线
			
python 类中的单下划线开头的变量表示:该方法为类的私有方法,原则上外部不能访问,但是用._XX是可以访问到的 双下划线开头则是强制外部不能直接访问的用.__XX是访问不到的,它内部其实是将变量名 ...
 - Hibernate配置文件和映射文件详解
			
Hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 我们先看一下官方文档所给出的,Hibernate 体系结构的高层视图: 其中PO=P ...
 - Zabbix5 对接 SAML 协议 SSO
			
Zabbix5 对接 SAML 协议 SSO 在 Zabbix5.0 开始已经支持 SAML 认证 官文文档: https://www.zabbix.com/documentation/current ...
 - C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)
			
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...
 - C#LeetCode刷题之#747-至少是其他数字两倍的最大数( Largest Number At Least Twice of Others)
			
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3746 访问. 在一个给定的数组nums中,总是存在一个最大元素 ...
 - Scss 定义内层class的简单写法
			
如果定义样式的时候,内层样式名称和外层保持一致的话可以简写如下 如果一个样式下有相关的其他样式可以使用 &-xxx 来简写, <template> <div class=&q ...