IDEA之Debug调试

news2024/11/27 8:30:29

资料来源于韩老师视频

(一)初探debug

1、打断点的话:直接在该行前面单击左键,出现小红点就是断点了。
在这里插入图片描述
想要取消断点的话,再单击小红点即可。
运行debug时,右键选择"Debug…"而不是选“Run…”

2、(1)随后进入到debug界面,从左到右依次是:
逐行执行、进入到方法体内、强制进入到方法体内、跳出方法。
在这里插入图片描述
(2)这个标记表示:从该断点直接执行到下一个断点
当然,我们可以在debug执行的过程中动态地添加新断点。
在这里插入图片描述
(3)这个标记表示:停止debug
在这里插入图片描述
3、尝试一下,设置一个断点,然后选择逐行执行代码。
“Debugger”是当前变量值的反映,如果想看当前输出什么,选它旁边的Console。
在这里插入图片描述
当然,其实在我们每次逐行执行debug的时候,变量代码的边上就会出现当前该变量的值,可以直观地观察到。
在这里插入图片描述
该案例断点调试结束。

(二)数组越界案例

1、我们的代码是:
在这里插入图片描述
本来只能访问到arr.length-1的下标,我们这里让它等于。
2、逐行执行后,报错结果如下:
(1)出现.ArrayIndexOutOfBoundsException: 3:即索引越界,索引不能等于3。(因为我们数组下标最后一个才到2)
(2)main(debug02.java:9):表示错误在第9行代码。
在这里插入图片描述

(三)追踪源码

1、我们写的代码:
在这里插入图片描述
2、现在需要追踪sort()源码怎么写的:
(1)先配置:
在这里插入图片描述(2)在sort这句代码前面打断点。
(3)右键debug运行后,点“step into”就是下面这个按键进入到方法体:
在这里插入图片描述
就能追踪到这:
在这里插入图片描述想进一步追踪,选到sort(a,left,…)这一行,然后点“step into”按键,进入到这:
在这里插入图片描述这就是最终的源码了。
如果查看完想跳回原位置,继续逐行执行代码,按下面这个键(或者shift+F8):
在这里插入图片描述
跳出方法体。然后可以执行其他命令了。
3、补充一个小技巧:
查看数组元素值,可以让光标停在数组名上,然后点显示出来的加号。
比如直接查看排序后的arr数组:
在这里插入图片描述

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

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

相关文章

sip语音对讲终端怎么样?

sip语音对讲终端怎么样? IP语音对讲终端是一种通过网络进行语音通信的设备,具有以下特点: 1. 便捷性:IP语音对讲终端可以通过互联网实现远程通信,用户可在任何地点与他人进行语音交流,无需受到距离的限制…

MySql011——检索数据:过滤数据(使用正则表达式)

前提:使用《MySql006——检索数据:基础select语句》中创建的products表 一、正则表达式介绍 关于正则表达式的介绍大家可以看我的这一篇博客《Java038——正则表达式》,这里就不再累赘。 二、使用MySQL正则表达式 2.1、基本字符匹配 检索…

18-有假币

题目 居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder 一不小心把它混进了一堆真币里面去了。只知道假币…

Java项目-苍穹外卖-Day03

员工分页查询功能实现 需求分析和设计 代码开发 先设计类 将对应分页查询的传参类以及结果类进行封装 对应真正返回的为Result<PageResult>Controller /**** param employeePageQueryDTO* return*/GetMapping("/page")ApiOperation("员工分页查询&qu…

【C++】开源:glog日志库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍glog日志库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次…

Mac M1 安装Oracle Java 与 IEDA

文章目录 1 官网下载2 安装IDEA参考 1 官网下载 https://www.oracle.com/ 使用finder中的拖拽进行安装即可 2 安装IDEA https://www.jetbrains.com/zh-cn/idea/download/?sectionmac 同样的&#xff0c;下载完后拖拽安装即可 参考 Mac M1 安装Java 开发环境 https://blog.…

Cmder:从此告别记事本记命令的日子

前言 平时开发中遇到这样那样的命令需要记下来&#xff0c;一般做法是这样。 新建记事本将需要记下的关键命令保存。每次需要使用时&#xff0c;粘贴复制即可。 好像没什么毛病&#xff01;直到遇到了 Cmder。。。 当看到同事分析问题时在 Cmder 里命令快捷键刷刷一顿操作&…

体渲染原理及WebGL实现【Volume Rendering】

体渲染&#xff08;Volume Rendering&#xff09;是NeRF神经场辐射AI模型的基础&#xff0c;与传统渲染使用三角形来显示 3D 图形不同&#xff0c;体渲染使用其他方法&#xff0c;例如体积光线投射 (Volume Ray Casting)。本文介绍体渲染的原理并提供Three.js实现代码&#xff…

【AI底层逻辑】——篇章7(上):海量运算背后的算力支持

目录 引入 一、计算机芯片 1、芯片的制造 2、复杂指令集&精简指令集 3、并行计算的GPU 二、协作计算 1、分布式技术“三论文” 2、不可兼得的CAP定理 3、故障类型 续下篇... 往期精彩&#xff1a; 引入 早在2016年DeepMind就公布了AlphaGo的算法细节&#xff0…

易服客工作室:如何在WordPress网站中举办虚拟活动

您是否正在寻找举办和管理虚拟活动的最佳方式&#xff1f; 也许您想在线举行下一次会议或举办有关您的产品和服务的网络研讨会。您可能担心它太贵&#xff0c;或者您没有技术知识来实现​​它。 在本文中&#xff0c;我们将列出您所需的在线服务的所有设备&#xff0c;并教您…

ubuntu python 查看系统是否可用 cuda

ubuntu python 查看系统是否可用 cuda 初环境与设备查看环境演示效果 本篇文章将介绍ubuntu python 查看系统是否可用 cuda 初 希望能写一些简单的教程和案例分享给需要的人 环境与设备 系统&#xff1a;ubuntu 22.04 工具&#xff1a;python 3.10.6 设备&#xff1a;Nvidi…

JavaScript 运行机制详解:再谈Event Loop

一、为什么JavaScript是单线程&#xff1f; JavaScript语言的一大特点就是单线程&#xff0c;也就是说&#xff0c;同一个时间只能做一件事。那么&#xff0c;为什么JavaScript不能有多个线程呢&#xff1f;这样能提高效率啊。 JavaScript的单线程&#xff0c;与它的用途有关。…

【二叉树】1-5,理论基础、前中后序遍历的递归法和迭代法、层序遍历

理论基础、前中后序遍历的递归法和迭代法、层序遍历 1&#xff0c;二叉树的种类满二叉树完全二叉树二叉搜索树平衡二叉搜索树 2&#xff0c;存储方式链式存储线式存储 3&#xff0c;二叉树的遍历深度优先搜索前序遍历&#xff08;递归法、迭代法&#xff09;中序遍历&#xff0…

无涯教程-Perl - msgrcv函数

描述 此函数从队列ID接收消息,并将消息放入变量VAR中,最大大小为SIZE。 语法 以下是此函数的简单语法- msgrcv ID, VAR, SIZE, TYPE, FLAGS返回值 该函数在错误时返回0,在成功时返回1。 Perl 中的 msgrcv函数 - 无涯教程网无涯教程网提供描述此函数从队列ID接收消息,并将消…

山东布谷科技直播软件开发WebRTC技术:建立实时通信优质平台

在数字化的时代&#xff0c;实时通信成为了人们远程交流的主要方式&#xff0c;目前市场上也出现了很多带有实时通信交流的软件&#xff0c;实时通信符合人们现在的需求&#xff0c;所以在直播软件开发过程中&#xff0c;开发者也运用了实时通信技术为直播软件加入了实时通信的…

什么是CSS Grid布局?什么是Flexbox布局?它们两者有什么不同?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CSS Grid布局⭐ Flexbox布局⭐ 不同之处⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web…

Chrome浏览器导出插件并安装到其他电脑浏览器上的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

说一下什么是tcp的2MSL,为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间?

1.TCP之2MSL 1.1 MSL MSL:Maximum Segment Lifetime报文段最大生存时间&#xff0c;它是任何报文段被丢弃前在网络内的最长时间 1.2为什么存在MSL TCP报文段以IP数据报在网络内传输&#xff0c;而IP数据报则有限制其生存时间的TTL字段&#xff0c;并且TTL的限制是基于跳数 1.3…

【C++基础(十)】C++泛型编程--模板初阶

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; 模板 1. 前言2. 函数模板3. 函数模板原理4. 函数…