当前位置: 首页 > news >正文

程序调试操作

文章目录

  • 一 什么是调试
  • 二 常见调试方式
    • 2.1 阅读代码与日志打印
    • 2.2 使用工具
  • 三 使用IDEA调试Java程序
    • 3.1 如何打断点
    • 3.2 如何启动调试
    • 3.3 调试界面
    • 3.4 逐过程Step over:快捷键F8
    • 3.5 逐语句Step into: 快捷键F7
    • 3.6 强制步入功能:Alt+Shift+F7
    • 3.7 跳出功能
    • 3.8 运行到光标所在位置
    • 3.9 调试界面左边的一些功能
  • 四 其它
    • 4.1 Debugger 标签下会展示调用堆栈以及变量等表达式的值
    • 4.2 Console标签下会展⽰控制台的输⼊输出信息
    • 4.3 条件断点

一 什么是调试

当我们发现程序中存在问题时,我们去查找和改正错误的过程称为调试调试的一般路径是采用各种方法逐步缩小bug所在的范围,最终定位bug的最终位置。

二 常见调试方式

2.1 阅读代码与日志打印

适用于代码量短小,常见的方式是逐步阅读代码和插入一些打印语句观察代码的问题

2.2 使用工具

1 适用复杂程序
2 使用集成开发工具中的集成调试器

三 使用IDEA调试Java程序

3.1 如何打断点

点击鼠标左键,出现红色按钮

3.2 如何启动调试

鼠标右键,点击debug

3.3 调试界面

3.4 逐过程Step over:快捷键F8

遇方法就整体跑完,不钻进去,适合跳过无关细节、只看当前方法流程

3.5 逐语句Step into: 快捷键F7

遇方法就钻进去,看内部细节,适合看不懂逻辑、找内部错误、调试递归(比如汉诺塔)
逐语句 :只钻自己写的方法

3.6 强制步入功能:Alt+Shift+F7

Force Step into 是一种强制步入功能,它允许调试器进入任何方法,包括那些通常会被step into 功能跳过的方法
与普通Step into 的区别
1 普通Step into(F7)通常会跳过库方法,无源代码的方法等。
2 Force Step into 会进入任何方法,包括那些通常跳过的方法

3.7 跳出功能

跳出当前方法,它让程序执行完当前方法的剩余部分,然后返回到调用该方法的位置。快速完成当前方法的执行。
快捷键:Step out(shift+F8)

3.8 运行到光标所在位置

运行到光标所在位置Run to cursor:快捷键:Alt+F9

3.9 调试界面左边的一些功能

四 其它

4.1 Debugger 标签下会展示调用堆栈以及变量等表达式的值


其中main:5属于调用堆栈信息
标有"Evaluate expression (Enter) or add a watch",这⾥可以输⼊表达式进⾏求值或添加到监视列表,如

4.2 Console标签下会展⽰控制台的输⼊输出信息

只要遇到输出语句,此时就可以查看输出的结果

4.3 条件断点

当⼀个代码需要满⾜某种条件进⾏调试,此时可以使⽤调试断点
1打断点
2 鼠标右键,添加条件

开始调试程序会停在满足条件的情况下

http://www.jsqmd.com/news/497060/

相关文章:

  • 如何快速构建高效命令菜单:cmdk专家实战经验分享
  • Qwen3-ForcedAligner-0.6B部署案例:云平台实例初始化失败排查与CUDA 12.4适配要点
  • 模型版本控制:实时口罩检测-通用DVC+MLflow实验追踪实践
  • spring相关
  • SiameseUIE中文-base实操进阶:自定义Schema支持正则约束与枚举值
  • 如何快速构建实时AI服务:Ludwig与FastAPI集成指南
  • 液相色谱检测服务机构优选盘点 专业第三方检测选择参考 - 时事观察官
  • 想找好的牛肉供应厂家?2026年这些评价不错的别错过,鲜牛肉/牛肉/白牦牛肉/白牦牛/天祝白牦牛肉,牛肉供应厂家哪家好 - 品牌推荐师
  • 算法知识-双指针
  • 基于SAM2的眼动数据跟踪3——python转exe
  • 比迪丽角色生成实战案例:从‘a beautiful girl’到龙珠经典造型复刻
  • 如何将genact假活动生成器集成到自动化脚本:完整指南
  • FireRed-OCR Studio入门指南:OCR结果置信度阈值设定与人工复核策略
  • 嵌入式C开发三大核心架构:从能运行到高可用的实战指南
  • Android开发的定心丸-Android从底层到上层开发技巧经验汇总_上卷_助您不走弯路_快速前行!
  • 比迪丽AI绘画教程:如何用Inpainting修复生成中的局部瑕疵
  • Qwen3-ASR-0.6B内容审核应用:敏感词实时检测与高亮标记
  • FireRed-OCR Studio开源镜像部署:GPU显存优化与量化配置详解
  • OpenClaw官方下载替代:nanobot开源镜像+Qwen3-4B全栈部署教程(含日志排查)
  • 通义千问1.5-1.8B-GPTQ-Int4效果展示:中文逻辑推理、多轮对话与代码生成真实案例
  • Qwen2.5-7B-Instruct法律应用:合同审查要点+修改建议+法条引用
  • IndexTTS-2-LLM真实项目案例:电子书语音转换系统教程
  • Qwen3-Reranker-0.6B应用解析:如何用rerank结果指导LLM生成更精准答案
  • SSTI 刷题记录
  • LiuJuan Z-ImageGPU算力方案:单卡4090支撑多任务并发生成实测
  • 浦语灵笔2.5-7B金融场景:K线图+新闻截图→行情解读→投资建议初稿
  • lite-avatar形象库惊艳案例:客服数字人7×24小时处理300+并发咨询无卡顿
  • Qwen2-VL-2B-Instruct实操手册:Streamlit界面调试信息与Device维度解析
  • [特殊字符] VSCode Copilot 里的大模型,到底是不是“真的”?一篇讲透它背后的控制权
  • DeOldify上色服务灾备方案:模型文件异地备份+服务配置Git版本管理