IDEA DeBug
文章目录
- 01_Debug简介和意义
- 02_IDEA中的Debug步骤
- 03_跳转到当前代码执行的行
- 04_步过调试的使用
- 05_步入调试的使用
- 06_强制步入调试的使用
- 07_步出调试的使用
- 08_回退断点调试的使用
- 09_运行到光标处
- 10_计算表达式
- 11_条件断点
- 12_多线程调试
01_Debug简介和意义
- 什么是程序DeBug?
- Debug,是程序开发人员必会的一项调试程序的技能。
- 企业中程序开发和程序调试的比例为1:1.5,可以说如果你不会调试程序,你就没有办法从事编程工作。
- Debug能帮助我们做什么?
- 追踪代码的运行流程。
- 程序运行异常定位。
- 线上问题追踪。
- Debug对于程序学习者的意义
- 通过调试能够更好的查看程序的执行流程。
- 复杂的程序逻辑,通过老师的口述讲解,很难理解清楚,这个时候借助调试能够很好的帮助同学们理解程序。
- 定位问题,提高自我解决问题的能力。
02_IDEA中的Debug步骤
- 设置断点(F9)
- 调试程序(8个按钮)

| 按钮 | 说明 |
|---|---|
![]() | (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行 |
![]() | (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。 |
![]() | (F7):步入。如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。 |
![]() | (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。 |
![]() | (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。 |
![]() | 回退断点。 |
![]() | (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。 |
![]() | (Alt + F8):计算表达式。 |
- 观察变量
- 查看变量有三种方式:
- 程序区查看变量
- Debugger的Variables中查看变量
- 鼠标悬停到变量名上会弹出当前变量的值
- 查看变量有三种方式:

- 查看输出
03_跳转到当前代码执行的行
- 跳转到当前代码执行的行(Alt + F10)

- 作用
- 使程序窗口切换到当前正在运行的程序处。
04_步过调试的使用
- 步过调试
- 步过调试按钮(F8)

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

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

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

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

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

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


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

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

- Frame中选择线程进行调试
- 多线程调试,需要调整断点挂起级别为Thread

相关文章:
IDEA DeBug
文章目录 01_Debug简介和意义02_IDEA中的Debug步骤03_跳转到当前代码执行的行04_步过调试的使用05_步入调试的使用06_强制步入调试的使用07_步出调试的使用08_回退断点调试的使用09_运行到光标处10_计算表达式11_条件断点12_多线程调试 01_Debug简介和意义 什么是程序DeBug&am…...
本地部署 ComfyUI
本地部署 ComfyUI ComfyUI 介绍ComfyUI Github 地址部署 ComfyUI配置模型地址 or 下载模型启动 ComfyUI访问 ComfyUI使用技巧页面底部显示图片预览改变连接线的格式配置 prompt 自动补全 安装 ComfyUI-Manager安装 AIGODLIKE-COMFYUI-TRANSLATION安装 ComfyUI-Custom-Scripts安…...
RHCE---给openlab搭建web网站
作业:请给openlab搭建web网站 网站需求: 1.基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站, 1、基于 www.openlab.com/student 网站访问学生信…...
[BJDCTF2020]The mystery of ip1
提示 ssti模板注入head头x-forwarded-for 每一次做题的最开始流程都大致因该是 信息收集找可以操控的地方 查看hint页面的源代码又发现它提示说 ####你知道为什么会知道你的ip吗 查看flag页面 从刚才给我的提示以及他这里显示的我的ip,大概找到了我可操作的可控点 …...
常见树种(贵州省):021冬青、连香树、白辛树、香合欢、云贵鹅耳枥、肥牛树、杜英、格木、黄连木、圆果化香树、南天竹
摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、冬青 …...
[论文阅读]CBAM——代码实现和讲解
CBAM 论文网址:CBAM 论文代码:CBAM 本文提出了一种卷积块注意力模块(CBAM),它是卷积神经网络(CNN)的一种轻量级、高效的注意力模块。该模块沿着通道和空间两个独立维度依次推导注意力图&#x…...
蓝桥杯第2119题 特殊时间 C++ 思维暴力
题目 思路和解题方法 1110 代表 1110年11月10号11点10分1110 4*4*4 有0111 1011 1101 1110 可以符合年 月日 时分秒的都有4种例如 1113有1113 1131 1311 3111 年份符合月日只有11 13 时分秒 只有11 13 11 31 13 11 无31 11 c 代码 #include <bits/stdc.h> using…...
Modbus RTU协议及modbus库函数使用
一、与Modbus TCP的区别 在一般工业场景使用modbus RTU的场景还是更多一些,modbus RTU基于串行协议进行收发数据,包括RS232/485等工业总线协议。 与modbus TCP不同的是RTU没有报文头MBAP字段,但是在尾部增加了两个CRC检验字节(CRC…...
Linuxfork,写时拷贝
1.prinf隐藏的缓冲区 1.思考:为什么会有缓冲区的存在? 2.演示及思考? 1).演示缓存区没有存在感 那为什么我们感觉不到缓冲区的存在呢?我们要打印东西直接就打印了呢? 我们用代码演示一下: 比如打开一个main.c,输入内容如下: #include <stdio.h> int main() { …...
Android控件全解手册 - 自定义实现水波进度
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列...
Halcon Solution Guide I basics(4.1): Blob Analysis 自主练习
文章目录 文章专栏前言自主练习题目输出电路板焊点个数解决方案:正确率:90 文章专栏 我的Halcon开发 CSDN 专栏 Halcon学习 练习项目gitee仓库 CSDN Major 博主Halcon文章推荐 随笔分类 - Halcon入门学习教程 前言 为了更加熟练的掌握Halcon的练习,我之…...
视频网站适合租用服务器吗?
视频网站适合租用服务器吗? 谈到服务器租用,在服务器租用市场中,通常比较常见的用户群体有电商、外贸和视频等网站。在这里相信很多用户都有疑问:租用的服务器适不适合用来建立视频网站呢?接下来我们一起来看看吧~ 首…...
2024年度投资策略:AI大模型和半导体国产化加速
今天分享的是AI系列深度研究报告:《2024年度投资策略:AI大模型和半导体国产化加速》。 (报告出品方:东方证券) 报告共计:48页 前言: 行情回顾与未来展望 电子板块涨幅转正,信心逐渐回归。截至…...
【Amazon】创建Amazon EFS 文件系统并将其挂载到Amazon EC2实例
文章目录 1. Amazon EFS文件系统2. Amazon EFS文件系统工作原理图3. 创建Amazon EFS 文件系统操作步骤3.1 创建安全组3.2 创建 EFS 文件系统3.3 启动 EC2 实例并挂载文件系统 4.清理资源4.1 终止 EC2 实例4.2 删除 EFS 文件系统 5.参考链接 1. Amazon EFS文件系统 Amazon EFS …...
微机原理_5
一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) 8086微处理器CLK引脚输入时钟信号是由(提供。 A. 8284 B. 8288 C.8287 D. 8289 2.下面4个寄存器中,不能作为间接寻址的寄存器是(…...
我的128天创作纪念日
嘿,大家好!今天我想和大家聊一聊CSDN创作者128天纪念日的话题。 机缘 首先,让我们来谈谈机缘。作为CSDN创作者,我们都有自己的创作机缘。可能是因为对某个领域感兴趣,可能是因为想要分享自己的知识和经验,…...
【高可用架构】Haproxy 和 Keepalived 的区别
Haproxy 和 Keepalived 的区别 1.负载均衡器介绍2.Haproxy 和 Keepalived 的基本概念和特点2.1 Haproxy2.2 Keepalived 3.Haproxy 和 Keepalived 的区别3.1 功能上的区别3.2 架构上的区别3.3 配置上的区别 4.总结 1.负载均衡器介绍 负载均衡器是一种解决高并发和高可用的常用的…...
python-opencv 人脸68点特征点检测
python-opencv 人脸68点特征点检测 不是很难,主要还是掉包,来看一下代码啊: # coding: utf-8 # 导包 import numpy as np import dlib import cv2class face_emotion(object):def __init__(self):# 人脸检测器对象,通过它拿到人…...
无线网络下VMWare+CentOS7使用桥接模式无法联通网络问题
因为最近新配了台带无线网卡的主机,所以准备把所有的内容都转移到新电脑上,其中就包括虚拟机 安装好VMWareCentOS7选择桥接模式 然后我们去修改一下网络配置 cd /etc/sysconfig/network-scripts/进入这个ifcfg-ens33文件 我们修改箭头所示内容ÿ…...
vue2.x中使用JS与路由守卫配置、vue2.x中使用TS与路由守卫的配置和vuex的配置以及TS在vue2.x中的使用说明
vue2.x 事件修饰符 <button click.stop.self"handleDelete(item)"></button>在使用 $confirm 时,使用 await 方式时,需要添加 catch 回调,否则无法获取 $confirm 关闭和取消时的标识值,并且后续代码停止执…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...








