C++算法竞赛篇:DevC++ 如何进行debug调试

  • 前言
  • 一、准备工作:编译生成可执行程序
  • 二、核心步骤:设置断点与启动调试
    • 1. 设置断点
    • 2. 启动调试模式
  • 三、调试操作:逐步执行与变量监控
    • 1. 逐步执行代码
    • 2. 监控变量值变化
  • 四、调试结束


前言

  • 在算法竞赛中,代码调试是排查错误的关键步骤。本文将详细讲解如何使用 DevC++ 进行 debug 调试,帮助大家高效定位代码问题。
  • 废话不多说我们直接讲重点

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的C++算法竞赛篇文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_13001405.html?spm=1001.2014.3001.5482


一、准备工作:编译生成可执行程序

调试的前提是代码已编译为可执行程序,步骤如下:

  1. 编写完代码后,先保存文件(建议保存到固定目录,避免路径含中文)。
  2. 点击菜单栏最上方的运行图标(或按F11),编译并运行程序。
    运行图标
  3. 运行成功后,界面底部会出现调试相关的操作按钮,说明可执行程序已生成。
    调试按钮栏

二、核心步骤:设置断点与启动调试

1. 设置断点

断点是调试的起点,用于指定程序暂停执行的位置:
在代码左侧的行号(如1、2、3…)上点击,行号所在行会出现红色标记,即表示断点设置成功。
设置断点

2. 启动调试模式

  1. 点击菜单栏的**“调试”选项,在下拉菜单中选择“Debug”**(或按F5)。
    调试菜单
    选择Debug命令
  2. 此时程序会进入调试模式,自动暂停在第一个断点处。

三、调试操作:逐步执行与变量监控

1. 逐步执行代码

进入调试模式后,可通过以下按钮控制程序执行:

  • Next Line(或按F7):单步执行下一行代码(不进入函数内部),适合按行观察程序流程。
    Next Line按钮

2. 监控变量值变化

通过“监视变量”功能可实时查看变量值,精准定位错误:

  1. 点击调试工具栏的**“Add Watch”**(添加监视)按钮。
    Add Watch按钮
  2. 在弹出的窗口中输入需要监控的变量名(如isum),点击确定。
    输入变量名
  3. 后续每点击“Next Line”,监视窗口会实时更新变量值,便于观察变量是否按预期变化。
    变量值变化

四、调试结束

当程序执行到最后一个断点或手动点击Stop Debugging(停止调试)按钮时,退出调试模式。通过上述步骤,可清晰追踪代码执行流程和变量变化,快速定位逻辑错误。


以上就是DevC++调试的完整流程。掌握调试技巧能极大提高代码排错效率,尤其适合算法竞赛中复杂逻辑的验证。

我的个人主页:https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的C++算法竞赛专栏:https://blog.csdn.net/2402_83322742/category_13001405.html?spm=1001.2014.3001.5482
欢迎阅读并指出不足!

感谢您的阅读,喜欢的话请点赞、收藏、关注三连哦~

感谢支持

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音大模型速览(三)- cosyvoice2

CosyVoice 2: Scalable Streaming Speech Synthesis with Large Language Models 论文链接:https://arxiv.org/pdf/2412.10117代码链接:https://github.com/FunAudioLLM/CosyVoice 一句话总结 CosyVoice 2 是一款改进的流式语音合成模型,其…

-lstdc++与-static-libstdc++的用法和差异

CMakeLists.txt 里写了: target_link_libraries(${PROJECT_NAME} PRIVATEgccstdc ) target_link_options(${PROJECT_NAME} PRIVATE -static-libstdc)看起来像是“链接了两次 C 标准库”,其实它们的作用完全不同:1. target_link_libraries(...…

Redis学习其二(事务,SpringBoot整合,持久化RDB和AOF)

文章目录5,事务5.1Redis 事务不保证原子性的原因5.2事务操作过程5.3监控6,SpringBoot整合Redis6.1Redis客户端6.1.1Jedis简单使用6.1.2Lettuce&Jedis6.2配置相关6.3使用6.3.1使用RedisTemplate6.3.2Redis工具类7,持久化RDB7.1RDB持久化原理7.2触发机制save命令flushall命令…

springboot项目部署到K8S

java后台 创建harbor镜像拉取Secret:kubectl create secret docker-registry harbor-regcred \--docker-server \ #harbor仓库地址--docker-username \ #harbor 账号--docker-password \ #harbor密码-n productionDockerfile FROM *harbor地址*/library/custom-jdk…

【FPGA开发】一文轻松入门Modelsim的基本操作

Modelsim仿真的步骤 (1)创建新的工程。 (2)在弹出的窗口中,确定项目名和工作路径,库保持为work不变(如有需要可以根据需求进行更改)。 (3)添加已经存在的文件(rtl代码和t…

服务攻防-Java组件安全FastJson高版本JNDI不出网C3P0编码绕WAF写入文件CI链

服务攻防-Java组件安全&FastJson&高版本JNDI&不出网C3P0&编码绕WAF&写入文件CI链26天 原创 朝阳 Sec朝阳 2025年07月18日 09:23 湖北 标题已修改 演示环境: https://github.com/lemono0/FastJsonParty FastJson全版本Docker漏洞环境(涵盖1.…

【Python】DRF核心组件详解:Mixin与Generic视图

在 Django REST Framework (DRF) 中,mixins.CreateModelMixin、mixins.ListModelMixin、GenericAPIView 和 GenericViewSet 是构建 API 视图的核心组件。以下是对这些组件的主要方法及其职责的简要说明,内容清晰且结构化:1. mixins.CreateMod…

HTML+CSS+JS基础

文章目录(一)html1.常见标签(1)注释(2)标题 h1~h6(3)段落 p(4)换行与空格 br \ (5)格式化标签 b i s u(6)…

Vue导出Html为Word中包含图片在Microsoft Word显示异常问题

问题背景 碰到一个问题:将包含图片和SVG数学公式的HTML内容导出为Word文档时,将图片都转为ase64格式导出,在WPS Word中显示正常,但是在Microsoft Word中出现图片示异常。具体问题表现 WPS兼容性:在WPS中显示正常&#…

椭圆曲线密码学 Elliptic Curve Cryptography

密码学是研究在存在对抗行为的情况下还能安全通信的技术。即算法加密信息,再算法解密出信息。加密分为两类 1. Symmetric-key Encryption (secret key encryption) 即一种密钥,加密和解密使用同一密钥,可相互转换 2. Asymmetric-key Encry…

wedo牛-----第47节(免费分享图纸)

夸克网盘:https://pan.quark.cn/s/4b40a8d18979 高清图纸源文件,需要的请自取

Unity | AmplifyShaderEditor插件基础(第十集:噪声的种类+火焰制作-下)

目录 一、👋🏻前言 二、圆火焰 三、制作梯度 梯度成品预览 1.GradientSample节点 2.gradient的用法 3.time节点 四、添加颜色 Color节点 五、火焰摇摆 1.X方向的移动 2.Y方向的移动 3.Z方向的移动 4.把xyz组合起来 Panner节点 六、摆放和…

黑马Node.js全套入门教程,nodejs新教程含es6模块化+npm+express+webpack+promise等_ts对象笔记

1.1 什么是运行环境? 运行环境是指代码正常运行所需的必要环境!!!!! V8引擎负责解析和执行JavaScript代码。内置API是由运行环境提供的特殊接口,只能在所属的运行环境中被调用 1.2 JavaScrip…

React 项目环境变量使用指南

在 React 项目中正确使用环境变量是管理不同环境配置的关键技术。以下是完整的解决方案: 1. 创建环境变量文件 React 项目支持以下环境变量文件(按优先级从高到低): .env.development.local (本地开发环境).env.development (开发…

Oracle 关于一些连接故障的总结

积累了几次Oracle客户端连接故障,做下总结。 文章目录1、案例案例1:客户端连接报错ORA-12514案例2:客户端连接报错ORA-28547案例3:客户端连接报错:Got minus one from a read call案例4:客户端连接报错&…

V-USB USB设备模拟原理分析

V-USB USB设备模拟原理分析 通过分析V-USB项目的核心文件,详细解释这个项目是如何在AVR微控制器上模拟USB设备的: 1. 整体架构 V-USB是一个纯软件实现的USB低速设备驱动,主要由以下几个核心文件组成: usbdrv.c : USB协议栈的C语言…

kafka3.6下载安装(传统架构/KRaft模式)+实例测试

知识补充: Kafka 和 ZooKeeper 的关系可以用 “协作依赖” 来概括。在 Kafka 的早期版本(Kafka 2.8.0 之前)中,ZooKeeper 是 Kafka 的核心依赖,用于管理集群元数据、协调 Broker 和 Controller 选举等关键功能。但从 …

华控智能产品特点——产品生态全景与场景化创新

公司构建 “3X”产品战略,以三大核心场景为基础持续拓展技术外延: 1. 智能安防产品线军工级指纹枪盒:采用6061-T6航空铝材,内嵌震动报警模块,非法开箱触发90dB警鸣。为军工企业定制的双人认证版本需两位授权人员同时验…

爬虫核心原理与入门技巧分析

一、爬虫核心原理:模拟人类浏览的“自动化工具” 简单来说,网络爬虫(Web Crawler)是一种按照一定规则,自动抓取互联网信息的程序或脚本。其核心原理可以类比人类浏览网页的过程,只不过将手动操作转化为了代…

spring-cloud微服务部署-feign服务间调用

1 准备工作 需要安装并启动nacos&#xff0c;作为服务注册中心。地址&#xff1a;https://nacos.io/ 2 项目结构 parent的pom.xml声明依赖&#xff1a; <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</gr…