IDEA中DEBUG技巧

news2025/1/12 23:12:41

Debug 介绍

Debug 设置

  • 如上图标注 1 所示,表示设置 Debug 连接方式,默认是 SocketShared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,相对于 Socket 会快点。

## Debug 常用快捷键

Win 快捷键Mac 快捷键介绍
F7F7进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 必备
F8F8进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 必备
F9Command + Option + R恢复程序运行,直至下个断点或程序运行结束 必备
Alt + F8Option + F8选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 必备
Ctrl + F8Command + F8设置光标当前行为断点,如果当前已经是断点则去掉断点
Shift + F7Shift + F7智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8Shift + F8跳出,表现出来的效果跟 F9 一样
Ctrl + Shift + F8Command + Shift + F8指定断点进入条件
Alt + Shift + F7Option + Shift + F7进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入
Alt + Shift + F8Option + Shift + F8返回上一步
Drop FrameDrop Frame这个不是一个快捷键,而是一个 Debug 面板上的按钮。该按钮可以用来退回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过
  • 有时候我们可以这样粗鲁地认为 Debug 的使用就是等同于这几个快捷键的使用,所以上面的 必备 快捷键是我们必须牢记的,这些也是开发很常用的。

Debug 特殊技能使用

  • 如上图 Gif 所示,查看所选对象的方法常用有三种方式:

  • 选中对象后,使用快捷键 Alt + F8

  • 选中对象后,拖动对象到 Watches

  • 选中对象后,鼠标悬停在对象上 2 秒左右。

  • 如上图 Gif 所示,在弹出表达式输入框中 IntelliJ IDEA 也是能帮我们智能提示。

  • 如上图 Gif 所示,当我们需要过掉后面的所有断点的时候,我们不需要去掉这些断点,只需要点击左下角那个小圆点,点击小圆点之后,所有断点变成灰色,然后我们再在按快捷键 F9 即可过掉当前和后面所有的断点。

 

  • 我们可以给断点设置进入的条件。如上图 Gif 所示,因为变量 temp3 不等于 200 所以该断点没有被进入直接跳过。

  • 如上图,我们可以给断点设置更复杂的步入条件

  • 红框中的 Pass count 表示跳过多少次后开始步入,比如 for 循环中,我们要查看一个变量循环 3 次后的结果就可以使用该方式。

  • 如上图,对于某些不重要的断点,只要步入一次就够了,就可以勾选此选项,让它步入之后自动删除。

  • 如上图,对于某些场景的断点,需要其他断点先触发之后再进行触发,可以选择此项。默认选择的是: None

  • 有时候当我们步入方法体之后,还想回退到方法体外。如 Gif 演示,断点进入 addNum 方法后,点击 Drop Frame 按钮之后,断点重新回到方法体之外。

  • 上图 IntelliJ IDEA 版本:2017.1.3

  • 如上图左侧红框内容,可以看到当前断点线程执行的堆栈情况,最上面的为当前断点位置,下面的是断点前面执行的方法,如果需要看断点前面走过的路,可以查看该区域。并且可以用图上箭头按钮进行限制显示框架类代码的执行过程,而不是包括依赖 jar 里面的执行过程。

  • 如上图右侧红框内容,可以用来展示单点断点位置的内存情况,对于判断内存溢出相关问题很有帮助。

  • 学习于github

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初高(重要的是高中)中数学知识点综合(持续更新)

1. 集合 1.1 集合的由来和确定性 确定对象构成的整体称为集合(组成集合的元素必须是确定的 ),每个集合内的对象个体成为元素(Element)。确定性: 给定一个集合,任何一个对象是不是这个集合内的元素,就已经确…

港联证券股票分析:经济拐点显现 积极提升仓位

港联证券指出,商场底部上升的方向不变,当时稳增加和活跃资本商场的活跃方针仍在持续落地,一起也看到了一些经济数据边沿企稳的迹象,跟着方针作用的进一步闪现,商场情绪有望持续好转,上市公司基本面也有望得…

vue+element使用阿里的图标库保存图标

阿里图标网站iconfont-阿里巴巴矢量图标库 我想使用保存图标,但是element的图标库没有找到可用的,首先在阿里的图标网站搜索保存 发现这个还不错 点击添加入库 点击购物车 点击添加至项目 点击下载到本地 把下载的压缩包里面的文件拖到自己项目里面 在m…

ICCV 2023 | SuS-X:仅靠类别名称微调CLIP模型,剑桥大学联合DeepMind出品

论文链接: https://arxiv.org/abs/2211.16198 代码仓库: https://github.com/vishaal27/SuS-X 对比语言图像预训练(Contrastive Language-Image Pre-training,CLIP) 已成为计算机视觉社区通向自然语言领域的一种常用的…

mp4视频太大怎么发送?这样压缩视频就对了

随着科技的发展,视频格式多种多样,其中mp4格式因为其通用性而广受欢迎。然而,有时候我们会遇到一个问题:mp4视频文件太大,导致发送变得困难。那么,如何解决这个问题呢?下面就给大家分享几个实用…

【易盾点选】

拿官网的点选做个例子吧,比较省事,水一篇~ ​ 官网的接口目前都改成V3了,多了个dt参数,以及加密的一个函数也变动了下 点选坐标在这,加密函数未变,用逗号拼接 整个加密里的函数变了,直接重新…

live555-lastest 编译

1. live555-latest 源码下载:http://www.live555.com/ 2. 将下载的live-latest.tar.gz放到指定目录下解压:tar -xvf live-latest.tar.gz,cd 进入live目录,在live目录下有很多config.xxxx的相关配置文件,config.linux默…

什么是Vercel?

Vercel 是一个云平台,用于构建、部署和扩展无服务器应用程序和静态网站。由于其易用性、速度和处理大量流量的能力,它在开发人员中越来越受欢迎。 使用 Vercel,您可以使用各种编程语言和框架构建和部署应用程序,并利用自动 SSL、…

使用vue3.0实现一些动画效果

一, 动画效果: 1,横屏滚动 2,根据横屏滚动的距离,左侧文本缩小放大 3,鼠标悬浮单张图片时根据悬浮位置发生倾斜效果 横屏滚动函数: function handlerMouserScroll(event) { //鼠标滑动list…

【校招VIP】产品思维考察之用户体验

考点介绍: 在设计产品的功能点时,我们需要设想我们的用户到底是谁?他的需求是什么? 为此我们需要做用户分析,从而得出我们的用户画像,提供解决方案。用户调研是用户分析的一种方法,用户画像是结…

ESV1-8-C、ESV1-8-O、ESV1-10-C、ESV1-10-O插装式比例流量阀放大器

比例减压阀 EPPD2_2A、EPRV1-16、EPRV2-8 比例流量阀 EFV1-10-C、EFV1-10-O、EFV1-12-C、EFV1-12-O、EFV2-12-C、EFV2-12-O、EPV16A、EPV16B、ESV1-8-C、ESV1-8-O、ESV1-10-C、ESV1-10-O、ESV1-12-C、ESV1-12-O 比例流量阀 双油口压力补偿阀 EPFR14A、EPFR24A 比例溢流阀…

SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App

概览 作为我们秃头开发者来说,写出一款创意炸裂的 App 还不足以吸引用户眼球,更重要的是如何让用户用最短的时间掌握我们 App 的使用技巧。 从 iOS 17 开始, 推出了全新的 TipKit 框架专注于此事。有了它,我们再也不用自己写 A…

Linux系统编程-C++ I/O库

文章目录 一、 总述二、输出缓冲三、文件输入输出四、string流五、输入输出格式总述1、控制布尔值的格式2、指定整型值的进制3、在输出中指出进制4、控制浮点数格式4.1、 指定打印精度5、输出空白 六、未格式化的输入输出操作 一、 总述 C使用标准库类来处理面向流的输入和输出…

Linux之shell条件测试

目录 作用 基本用法 格式: 案例 -f 用法 [ ] 用法 [[]] 用法 (()) 语法 文件测试 参数 案例 编写脚本,测试文件是否存在,不存在则创建 整数测试 作用 操作符 案例 系统用户个数小于50的则输出信息 逻辑操作符 符号 案例 …

Spring----IOC、注解

目录 一、简介 二、spring的组成及拓展 spring七大模块 核心容器(Spring core) Spring上下文(Spring context) Spring面向切面编程(Spring AOP) Spring DAO模块 Spring ORM模块 Spring Web模块 Spring MVC框架(Spring WebMVC) 拓展 三、IOC理论 IOC本质 Hello S…

11.(Python数模)(预测模型三)多元线性回归预测

多元线性回归 简介 多元线性回归使用在自变量和因变量有逻辑相关性的情况中。在实际应用中,多元线性回归经常用于探索和解释变量之间的复杂关系,例如经济学、社会科学和自然科学等领域。它提供了一种统计工具来分析多个自变量对因变量的影响&#xff0…

Windows下使用source insight连接远程Linux机器写代码

命令总结 基本会用到的命令都在这里了,流程里面就不加命令了,自行看表格 流程 linux安装 samba,并确认版本,确认samba服务运行状态配置samba用户配置samba的配置文件 在文件最后增加 示例如下: security user [pub…

大模型参数高效微调PEFT的理解和应用

简介 近年的大型语言模型(也被称作基础模型),大多是采用大量资料数据和庞大模型参数训练的结果,比如常见的ChatGPT3有175B的模型参数量。随着Large Language Model(LLM)的横空出世,网络模型对常见问题的解答有了很强的…

分享大数据分析培训就业班课程内容

随着国家重视大数据,政府扶持大数据,大数据在企业中生根发芽根据人社部发布的《新职业--大数据工程技术人员就业景气现状分析报告》预计,未来5年,大数据行业的人才需求将保持30%-40%的增速,人才缺口总量将达到2000万人…

冠达管理股票分析:权益分派前买入好不好?

随着股票市场的不断升温,出资者们也越来越关注买入时机的把握。而其中一个重要的要素就是权益分配。那么,权益分配前买入好不好呢?本文将从多个视点进行剖析。 1、剖析权益分配对股价的影响,推断买入时机的合理性。权益分配是上市…