IDEA中Debug测试的基本使用

news2024/11/24 7:01:50

         

Debug简介

        Debug是用来追踪代码,通常在程序运行中出现异常的时候启动debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化,通常我们也可以启动Debug模式来跟踪代码的运行流程去学习三方框架的源码

Debug与Junit的区别

        Debug与JUnit都是测试工具,JUnit是从大层面来看方法有没有问题,通过举例子来测试方法验证是否通过,而Debug是用来验证方法里的每一行或者你想看方法里的某一行代码的执行结果,是从具体的层面来检查代码是否出现问题

如何使用Debug

     基本界面:

        首先我们打开idea,点击调试按钮后可以发现下面的Debug窗口

图中的标注含义:

(1).调试键按钮

(2).Variables(变量):在变量区可以查看当前断点之前的方法内的变量

(3).Watches(监视):查看变量,可以将Variables区的变量拖到Watches中查看

       基本按钮

  1. 显示执行点(Alt+F10):如果你的光标在其他行或者其他页面,点击这个按钮即可跳转到当前代码执行的行
  2. 步过(F8):一行一行往下走,如果这一行上有方法的话不会进入方法
  3. 步入(F7):如果当前行有方法,可以进入方法内部,一般用于自定义方法内,不会进入官方类库的方法
  4. 步出(Shift+F8):步出,从步入的方法内退入到方法调用处,此时方法已执行完毕,只是还没有完全赋值
  5. 运行到光标处(Alt+F9):你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点
  6. 计算表达式:一般不用

       补充用法:

  1. 强制步入(Alt+Shift+F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法
  2. 智能步入(Shift+F7):按住快捷键,可自动定位到当前断点行,并列出需要进入的方法,点击方法可进入方法内部,如果只有一个方法,则直接进入
  3. 运行到光标处(Alt+F9)
  4. 强制运行到光标处(Ctrl+Alt+F9):若遇到循环,可用此操作强制跳出循环

基本按钮2:

             

          

  1. 重新运行程序,会关闭服务后重新启动程序
  2. 修改运行配置
  3. 恢复程序,走到下一个断点处,若没有断点,则结束程序
  4. 暂停程序,一般不用
  5. 查看所有断点
  6. 静音断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序,再次点击,断点变为红色,有效。如果只想使某一断点失效,可以在断点右上角取消Enabled

      

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

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

相关文章

力扣236 补9.14

做不来,我做中等题基本上都是没有思路,这里需要先遍历祖先节点,那必然用先序遍历,这题还是官方题解容易理解,第二火的题解反而把我弄得脑袋昏昏的。 class Solution { TreeNode ans; public TreeNode lowestCommonAnce…

私域流量的优势

私域流量是指由自身品牌或个人拥有并具备完全掌控权的流量资源。它相比于传统的广告推广,拥有独特的优势。 首先,私域流量能够更加精准地定位目标用户,实现精准传播。不再盲目投放广告,而是通过建立自身社群、粉丝群,获…

Postman应用——下载注册和登录

文章目录 下载安装注册登录注册账号登录账号 下载安装 Postman下载:https://www.postman.com/ 访问链接后,进入首页,根据自己的操作系统下载对应的版本。 找到下载到的目录直接双击.exe文件,会默认安装在C盘,安装完会…

使用VMware 16 安装银河麒麟V10 --九五小庞

1.下载 银河麒麟系统V10 服务版镜像包: Kylin-Server-10-SP1-Release-Build04-20200711-x86_64.iso 百度云盘链接:https://pan.baidu.com/s/1z0GCEadvefUA8R988qDP5Q 提取码:1l0g 2.运行VMware Workstation,创建新的虚拟机&…

【动态规划刷题 15】最长定差子序列 最长的斐波那契子序列的长度

1218. 最长定差子序列 链接: 1218. 最长定差子序列 给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下,通…

python程序商业化,代码安全最终方案,pyinstaller与cython打包python执行程序

其实一般的程序安全上只需要两步就行,没必要再加密改解释器等,已经不可能反编译到原有python了,因为动态链接库就是汇编了,中间经历了python转c,c在转动态库,代码已经没有可读性了。但是一些密码等重要字符还是要处理好…

构建无限画布,协作数字绘图 | 开源日报 0915

tldraw/tldraw Stars: 16.4k License: Apache-2.0 tldraw 是一个协作数字白板项目,可在 tldraw.com 上使用。它的编辑器、用户界面和其他底层库都是开源的,并且可以通过 npm 进行分发。您可以使用 tldraw 为产品创建一个即插即用的白板,或者…

Smart Community(1)之设计规范

通过前面大数据开发相关知识的学习,准备做一个项目进行练习---我给他起了一个响亮的名字:基于HadoopHA的智慧社区服务平台 设计规范: 做一个项目之前肯定要先规定一些开发过程中的设计规范 (一)数据埋点规范&#xf…

Python中异常处理4-4

在Python中的异常处理4-1_棉猴的博客-CSDN博客中提到,在try块中的代码运行时如果出现异常,会自动抛出这个异常。可以通过raise语句手动抛出异常。 1 raise语句手动抛出异常 raise后面跟要抛出的异常类或者异常类的实例,表示手动抛出该异常&…

位图+布隆过滤器+海量数据并查集(它们都是哈希的应用)

一)位图: 首先计算一下存储一下10亿个整形数据,需要多大内存呢,多少个G呢? 2^3010亿,10亿个字节 byte kb mb gb 100000000个字节/1024/1024/10241G 所以10亿个字节就是1G,所以40亿个字节就是4G,也就是10个整…

电脑重装系统之后设置

edge一直处于正在同步设置关闭系统自动更新更改默认安装路径 edge一直处于正在同步设置 解决办法:卸载重新安装 用电脑管家16可以卸载 电脑管家16 链接:https://pan.baidu.com/s/1f5T4uXrumL8Fne9hyvTHcg?pwd0122 提取码:0122 edge 链接&am…

Go Moonbeam:Ai智能写作助手

【产品介绍】 • 名称 Go Moonbeam • 具体描述 Moonbeam是一个人工智能驱动的长篇写作助手。你可以用它创建散文,故事,文章,博客,和其他长形式的内容,可以轻松的将混乱的笔记转换为大纲。同时它…

对象创建和内存分配

对象创建和内存分配 Java中类创建是在平常不过的操作了,但是一个类的创建到底经历 了哪些过程呢? 对象创建 创建方法 使用关键字new一个对象 使用反射机制 User user (User)Class.forName("xxx.xxx.User").newInstance(); User user Us…

Linux开发工具之编译器gcc/g++

gcc/g是编译代码的,gcc/g都可以编译c语言的代码,但是c的代码只能用g来编译 在linux中,只要我们对源文件用gcc/g进行编译,就会生成一个可执行程序a.out,然后我们执行该程序就可得到结果了,下面来细看一下gcc…

深入了解==和equals的区别

1. 浅说和equals的区别 (1)比较的类型 不一样 可以比较基础数据类型和引用类型,比较基础数据类型的数据时比较的是值,比较引用对象时比较的是引用的地址。 equals比较引用类型,默认比较的是两个引用对象的引用地址&a…

Acwing 3302. 表达式求值

Acwing 3302. 表达式求值 题目描述思路讲解代码展示 题目描述 思路讲解 代码展示 #include <iostream> #include <cstring> #include <algorithm> #include <stack> #include <unordered_map>using namespace std;stack<int> num; stack…

redis链接阻塞,导致程序没有响应

目录 一、场景二、原因三、排查1、使用 info client 命令查看redis链接统计情况2、使用 client list 命令查看redis链接信息3、关闭程序&#xff0c;看阻塞的链接是否有所减少4、排查使用 blpop 命令的相关代码 四、解决 一、场景 1、程序在运行一段时间后&#xff0c;会出现没…

【分布式】分布式ID

目录 前言一、雪花算法snowflake1. 组成2. 优缺点3. 时钟回拨怎么解决a. 时钟回拨b. 解决方案 4. 项目中如何使用 二、基于Redis三、基于Zookeeper四、号段模式五、指定步长的自增ID六、UUID参考 六、扩展总结 前言 分布式场景下&#xff0c;一张表可能分散到多个数据结点上。因…

【数据结构】C++实现二叉搜索树

二叉搜索树的概念 二叉搜索树又称为二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&#xff0c;则左子树上所有结点的值都小于根结点的值。若它的右子树不为空&#xff0c;则右子树上所有结点的值都大于根结…

问道管理:注册制对涨幅的限制?

注册制作为中国证券商场变革的重中之重&#xff0c;其本质是将发行商场转移到审阅商场&#xff0c;实现商场准入的有效管控。与此同时&#xff0c;注册制关于股票商场的涨幅也有必定的约束。 首先&#xff0c;注册制能够经过严厉的审阅来制约公司发行股票的数量和节奏。传统IP…