实用编程调试技巧

news2024/11/15 19:39:49

目录

一、调试的基本步骤

二、Debug和Release的介绍

三、Windows环境调试介绍

1.调试环境的准备

2.学会快捷键

最常用的几个快捷键:

断点应用举例:                                   

3.调试的时候查看程序当前信息

(1)打开调试中的观察窗口

(2)监视变量与断点信息

(3)监视内存信息(地址、内存数值)​编辑

(4)监视调用堆栈查看函数运行逻辑​编辑


一、调试的基本步骤

(1)发现程序错误的存在

(2)以隔离、消除等方式对错误进行定位

(3)确定错误产生的原因

(4)提出纠正错误的解决办法

(5)对程序错误予以改正,重新测试


二、Debug和Release的介绍

Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户更好地使用


三、Windows环境调试介绍

1.调试环境的准备

2.学会快捷键

 

最常用的几个快捷键:

F5:启动调试,经常用来直接调到下一个断点处。

F9:创建断点和取消断点

(断点的重要作用:可以在程序的任意位置设置断点,这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去)

F10:逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句

F11:逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部,非常常用。

CTRL+F5:开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。

断点应用举例:                                   

 此外,如果认为某次循环的第n次出现了问题,如何用断点实现呢?

首先,右击断点处:

 再添加条件,此处添加 i==5,则程序直接运行到第五次循环:

3.调试的时候查看程序当前信息

(1)打开调试中的观察窗口

 (2)监视变量与断点信息

(3)监视内存信息(地址、内存数值)

 (4)监视调用堆栈查看函数运行逻辑

 


以上内容为编程调试的相关内容。

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

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

相关文章

橘子学Spring01之spring的那些工厂和门面使用

一、Spring的工厂体系 我们先来说一下spring的工厂体系(也称之为容器),得益于大佬们对于单一职责模式的坚决贯彻,在十几年以来spring的发展路上,扩展出来大量的工厂类,每一个工厂类都承担着自己的功能(其实就是有对应的方法实现)…

redis高级篇之单线程和多线程

目录 1、redis的发展史 2、redis为什么选择单线程? 3、主线程和Io线程是怎么协作完成请求处理的? 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程,4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…

智慧农业大棚建设方案——福建蜂窝物联

一、项目背景 温室大棚在不适宜植物生长的季节,能提供生育期和增加产量,多用于低温季节喜温蔬菜、花卉、林木等植物栽培或育苗等。因此对种植作物生长环境的要求要精确的多。 大多数农户加温、浇水、通风等,全凭感觉。人感觉冷了就加温&#…

Netfilter 是如何工作的(六):连接跟踪信息的入口创建(in)和出口确认(confirm)

Articles (gitee.io) IPtables-朱双印博客 (zsythink.net) 在 Netfilter 是如何工作的(五) 中连接跟踪信息使用的创建-确认机制的 Netfilter在报文进入系统的入口处,将连接跟踪信息记录在报文上,在出口进行confirm.确认后的连接信息 本文以一个本机上送…

【LeetCode每日一题】2182. 构造限制重复的字符串

2024-1-13 文章目录 [2182. 构造限制重复的字符串](https://leetcode.cn/problems/construct-string-with-repeat-limit/)思路: 2182. 构造限制重复的字符串 思路: 按照字符出现次数从高到低的顺序进行重复,通过维护一个指针 j 来寻找下一个…

如何在你的网站接入QQ登录?

文章目录 准备阶段申请QQ登录的权限创建应用最后上传qqlogin.php代码 准备阶段 国内服务器和备案域名需要你有张独一无二本人的身份证你正面手持身份证的图片一张100px*100px的网站图标 申请QQ登录的权限 首先访问qq互联,点击我直接访问 登陆完成后我们点击面的…

Java判断字符串当中是否有中文符号(不是中文名称,是符号)

public static void main(String[] args) throws ParseException, IOException, URISyntaxException {// 测试示例String testString1 "Hello,test!";String testString2 "This is a test.";boolean result1 containsChineseSymbols(testStr…

又涨了:net的域名铁定涨价

关注卢松松,会经常给你分享一些我的经验和观点。 又要涨价了,又要涨价了,又要涨价了!继.com域名涨价后,.net的域名也逐步涨价。最近一年来域名疯狂涨价,几个月内已经几乎翻番。 阿里云2月1日起上调.net英文域名价格…

专业课148,总分410+电子科技大学858信号与系统考研经验电子信息与通信

今年专业课148分,总分410顺利被电子科技大学录取,回望这一年复习还有很多不足,总结一下自己的复习经历,希望对大家复习有所帮助。 数学:(多动手,多计算,多总结,打好基础…

YOLOv8改进:小目标涨点系列篇 | UNet v2 多层次特征融合模块结合DualConv、GSConv

🚀🚀🚀本文改进:多层次特征融合(SDI)结合DualConv、GSConv模块等实现二次创新 🚀🚀🚀SDI 亲测在多个数据集能够实现涨点,同样适用于小目标检测 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研…

Android 13 辅助屏导航栏不显示问题

问题 在Android 13 上开启辅助屏幕。但是发现辅助屏systemui 导航按 icon没有显示,但是点击对应的区域有作用 分析 可以用 anroid device monitor 工具分析视图 解决 public NavigationBarView(Context context, AttributeSet attrs) {super(context, attrs);…

微信订阅号 服务号区别

服务号和订阅号有什么区别?服务号转为订阅号有哪些作用?很多小伙伴想把服务号改为订阅号,但是不知道改了之后具体有什么作用,今天跟大家具体讲解一下。首先我们知道服务号一个月只能发四次文章,但是订阅号每天都可以发…

GitHub注册新账号的操作流程(详细)

目录 第一步 进入官网,点击右上角的"Sign up" 第二步 输入email地址 第三步 设置密码 第四步 输入昵称 第五步 根据个人喜好决定要不要接收GitHub的邮件推送。然后回答他们的验证问题 第六步 输入验证码 我在注册github账号时遇到过一些阻碍&#x…

VMware workstation安装debian-12.1.0虚拟机并配置网络

VMware workstation安装debian-12.1.0虚拟机并配置网络 Debian 是一个完全自由的操作系统!Debian 有一个由普罗大众组成的社区!该文档适用于在VMware workstation平台安装debian-12.1.0虚拟机。 1.安装准备 1.1安装平台 Windows 11 1.2软件信息 软…

软件测试|Selenium StaleElementReferenceException 异常分析与解决

简介 Selenium 是一个流行的自动化测试工具,用于模拟用户与网页交互。然而,当我们在使用 Selenium 时,可能会遇到一个常见的异常,即 StaleElementReferenceException。这个异常通常在我们尝试与网页上的元素交互时抛出&#xff0…

跟着cherno手搓游戏引擎【5】layer(层)

编写基类层: Layer.h:提供Attach链接、Detach解绑、Update刷新、Event事件、GetName方法 #pragma once #include"YOTO/Core.h" #include"YOTO/Event/Event.h" namespace YOTO {class YOTO_API Layer{public:Layer(const std::string& nam…

竞赛保研 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于生成对抗网络的照片上色动态算法设计与实现 该项目较为新颖&am…

只不过孤岛罢了:我的2023年总结

2023已悄然过去,还记得跨年夜那天,我突然接到一星期要期末考的消息,我的内心是多么奔溃,先不说一天一门强度如此之高,重要的是矩阵论,工程优化等等科目,还要速成,于是麻木得预习一日…

Redis:原理速成+项目实战——Redis企业级项目实战终结篇(HyperLogLog实现UV统计)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:Redis:原理速成项目实战——Redis实战14(BitMap实现用户签到功能) 📚订阅专栏&am…

Open CASCADE学习|基于visual studio 2022编译源码

目录 1、简介 2、下载 2.1下载visual studio 2022 community 2.2下载下载cmake工具 2.3下载源码 2.4下载第三方插件 3、安装 3.1安装visual studio 2022 community 3.2安装cmake 4、编译源码 5、测试 1、简介 Open CASCADE(简称…