【五一创作】Visual Studio常用调试技巧的温习

news2024/11/16 13:56:59

当你在编写C程序时,难免会遇到代码出现错误的情况。这时候就需要用调试工具来定位问题并解决它。以下是一些在Visual Studio中使用调试器时常用的技巧,权当作温故总结罢~

1. 断点

断点是调试中最为基本但也最常用的技巧之一。通过在需要定位的代码行上打上断点,程序在运行到该行时就会暂停执行。这时候你可以查看变量和数据,或运行一个查询来查看该断点被运行时的代码及变量的状态。

VS中可以使用F9键来设置和取消断点。另外,你也可以右键单击代码区域的左边设置断点



在设置好断点之后,你可以使用F10或F11键来逐步执行程序。F10会执行单个代码行,而F11会进入每个子调用(如函数或方法)。当代码执行到断点处时,在Visual Studio的调试器窗口中你会看到代码停止运行。
(刚学调试之时,会因没设置断点,导致开始调试后直接走到returu 0 懂得都懂哦~~)


2. 监视表达式

监视表达式是用来观察变量或表达式在程序执行时的值和状态。通过监视表达式,你可以将其添加到监视窗口中,并跟踪它的变化。

在VS中,你可以右键单击打开监视窗口,选择Add Watch来添加一个监视表达式。通过添加监视表达式,你可以更简单快捷地查看需要追踪的变量和表达式的值,并且当变量或表达式的值发生改变时,可在监视窗口中立即观察到。

3. QuickWatch

QuickWatch是Visual Studio提供的快速观察单个表达式或变量值的方式。 QuickWatch允许你使用前缀或后缀运算符,来对表达式进行调整、求值和比较等操作。

在VS中,通过选择要观察的变量,然后右键单击选择QuickWatch即可打开QuickWatch窗口。此时你可以直接在窗口中查看并调整表达式以及与其他变量进行比较等操作。

4. 调试窗口

Visual Studio提供了多个调试窗口,以方便调试程序时需要的信息。调试器窗口可以让开发人员直接查看程序运行时的状态,并从中找出错误、优化代码,或执行一些其他任务。

调试窗口越多,信息也越丰富,常用的调试窗口有:

Call Stack窗口:查看当前代码的调用堆栈。
Locals窗口:查看函数执行时的本地变量和参数。
Output窗口:查看程序的输出信息。
Watch窗口:监视表达式和变量的值。


5. 编译状态窗口(最下面那个小栏)

编译状态窗口可以让你随时掌握项目中代码的编译状态,并发现可能出现的问题。该窗口显示了编译过程中的错误和警告信息,并提供有关错误所在位置的详细信息。

在编译C程序时,编译状态窗口对于调试来说非常重要,可以帮助你快速识别问题、并加快修复代码的速度。

 

 6. 内存调试

在C编程中,内存泄漏可能会导致程序的崩溃等问题。Visual Studio提供了内存调试器,可以帮助检测内存泄漏问题,并且帮助查找和修复其他担心内存管理问题的情况。

要使用内存调试器,只需设置项目属性来启用它,并在程序运行时监视内存使用情况。内存调试器可以自动跟踪使用程序中的指针和数组,以查找内存泄漏和悬挂指针等问题。

7. 检查冲突

在C编程中,常常会出现两个变量之间存在冲突的情况,这时候就需要用调试器来解决问题。

Visual Studio提供了调试扩展,可帮助你识别和处理冲突问题。由于它基于符号,因此可以更准确地跟踪和识别类型中的冲突问题。

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

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

相关文章

一文搞懂 x64 IA-64 AMD64 Inte64 IA-32e 架构之间的关系

想要搞清楚 x64、IA64、AMD64 指令集之间的关系,就要先了解 Intel 和 AMD 这两家公司在生产处理器上的发展历史。 x86 处理器 1978年 Intel 生产了它的第一款 16bit 处理器8086,之后几款处理器名字也都以86结尾,包括80186,80286&a…

五一长假暴露了电动爹的真面目,而新能源汽车市场似乎也到了转折点

4月份国内市场汽车销量数据已经出炉,同比来说仍然保持了很高的增长,不过环比数据却显示出新能源汽车市场似乎已到了转折点,繁荣期似乎已经结束,淘汰赛开始了。 一、五一长假再次暴露了电动爹的真面目 新能源汽车长途旅行首先就是怕…

部署LVS-DR集群

引言 一、LVS-DR工作原理 LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。 LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用节点 Director Server 与 …

推荐算法实战项目:DeepFM 原理以及案例实战(附完整 Python 代码)

本文要介绍的是由哈尔滨工业大学联合华为发表论文《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》中提出的DeepFM模型。其实根据名字可以看出来,此模型包含Deep和FM两个部分。其中Deep部分就是普通的深度神经网络,FM是因子…

【图像处理】墨西哥小波和带通滤波

一、说明 在连续小波的家族当中,埃尔米特小波是个非常特别的存在(应用在连续小波转换称作埃尔米特转换)。Ricker子波计算电动力学的广谱源项。它通常只在美国才会被称作墨西哥帽小波,因为在作为核函数处理2维图像时,形…

推荐算法实战项目:NFM 原理以及案例实战(附完整 Python 代码)

本文要介绍的是由新加坡国立大学的研究人员在论文《Neural Factorization Machines for Sparse Predictive Analytics∗》中提出的NFM模型。 NFM模型全称是Neural Factorization Machines,通过名字也可以看出,这又是一个基于FM模型改进得到的网络。无论…

SpringBoot+vue文件上传下载预览大文件分片上传文件上传进度

文章目录 学习链接上传文件前端后端代码 下载文件a标签下载前端代码后台代码 动态a标签下载前端代码 axios 动态a标签前端代码 浏览器直接输入 预览文件前端代码后端代码 分片上传前后端分别md5加密spark-md5commons-codec 分片上传实现前端代码后端代码 学习链接 Blob &…

zynq基于XDMA实现PCIE X8视频采集卡 提供工程源码和QT上位机程序和技术支持

目录 1、前言2、我已有的PCIE方案3、基于zynq架构的PCIE4、总体设计思路和方案视频输入通路视频输出通路PCIE输出上位机通路 5、vivado工程详解6、SDK 工程详解7、驱动安装8、QT上位机软件9、上板调试验证10、福利:工程代码的获取 1、前言 PCIE(PCI Exp…

智能无人蜂群作战系统适应性进化模型仿真研究

源自:系统仿真学报 作者:李志强, 李元龙, 殷来祥, 马向平 摘 要 智能无人蜂群作战系统主要由有限行为能力的大规模作战个体组成,一般不具备应对复杂战场环境和作战对手变化的适应能力。采用遗传算法与增强学习相结合的方法探索构建基于个体…

Apache Flink (最新版本) 远程代码执行

路虽远&#xff0c;行则将至&#xff1b;事虽难&#xff0c;做则必成 Apache Flink < 1.9.1(最新版本) 远程代码执行 CVE-2020-17518 漏洞描述 近日,有安全研究员公开了一个Apache Flink的任意Jar包上传导致远程代码执行的漏洞. 漏洞影响 Apache Flink < 1.9.1(最新…

通过频谱规划软件摆脱频谱监测硬件限制

背景 随着无线通信技术的发展,电磁频谱被逐渐扩充&#xff0c;从几kHz到1THz的频段慢慢被各种技术填充与覆盖。在任意时刻任意地点&#xff0c;5G、WiFi、GNSS、广播电台、航空通信等&#xff0c;都离不开无线通信。 电磁频谱&#xff08;EMS&#xff09;被广泛用于生活中&am…

基于matlab使用均匀矩形阵列进行电子扫描

一、前言 本示例模拟定期扫描预定义监视区域的相控阵雷达。该单基地雷达使用900元件矩形阵列。介绍了根据规范推导雷达参数的步骤。合成接收到的脉冲后&#xff0c;进行检测和距离估计。最后&#xff0c;利用多普勒估计得到每个目标的速度。 二、雷达定义 首先&#xff0c;我们…

M301H-BYT代工-支持Hi3798 MV300H/MV300/MV310芯片-当贝纯净桌面-强刷卡刷固件包

M301H-BYT代工-支持Hi3798 MV300H&#xff0f;MV300&#xff0f;MV310芯片-当贝纯净桌面-强刷卡刷固件包 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff…

算法学习-图像的数据格式BGR

OpenCV学习——图像的BGR格式解读 1. opencv读取的图片数据格式2. BGR含义 1. opencv读取的图片数据格式 opencv读取的图片数据格式为numpy的nparray格式。 一张二维图片是由像素点构成&#xff0c;如下图所示&#xff1a; 其中行与列确定了像素点的位置&#xff0c;值确定了…

美团企业版:地利尚可,天时不足

配图来自Canva可画 近年来入局B端逐渐成为各家互联网大厂的必然选项&#xff0c;美团自然不甘心落于人后。 4月13日&#xff0c;美团企业版正式上线&#xff0c;面向企业客户推出一站式企业消费管理服务&#xff0c;覆盖团餐、差旅等场景&#xff0c;同时推出“企航计划”&am…

电脑视频删除了怎么恢复回来?很着急

案例分享&#xff1a;“电脑视频删除了怎么恢复回来&#xff1f;我是一名影楼的摄像师&#xff0c;我的主要工作就是拍摄婚礼视频&#xff0c;最近拍了一场婚礼视频&#xff0c;当时由于相机的内存不足&#xff0c;于是将宣传片等视频都导入进了电脑里面&#xff0c;清空摄像机…

自定义控件 (?/N) - 颜料 Paint

参考来源 一、颜色 1.1 直接设置颜色 1.1.1 setColor( ) public void setColor(ColorInt int color) paint.setColor(Color.RED) paint.setColor(Color.parseColor("#009688")) 1.1.2 setARGB( ) public void setARGB(int a, int r, int g, int b) paint.se…

多商户商城系统-v2.2.3版本发布

likeshop多商户商城系统-v2.2.3版本发布了&#xff01;主要更新内容如下 新增 1.用户端退出账号功能 优化 1.平台添加营业执照保存异常问题 2.平台端分销商品优化-只显示参与分销的商品 3.优化订单详情显示营销价格标签 4.平台交易设置增加默认值 5.种草社区评论调整&a…

如何下载安装驱动

1 打开浏览器 这里以Edge浏览器举例 第一步打开桌面上的Edge浏览器 如果您的桌面上没有 那么找到搜索栏 搜索Edge 然后打开 打开之后一般是这样 然后把我发送您的地址 驱动下载地址 https://t.lenovo.com.cn/yfeyfYyD &#xff08;这个网址只是一个例子&#xff09; 删除掉前…

MQ主流中间件

MQ主流中间件 目前&#xff0c;在消息中间件的领域中&#xff0c;主流的组件包括以下几种&#xff1a; Apache Kafka&#xff1a;一个分布式流处理平台&#xff0c;可以用于构建实时数据管道和流式应用程序。 RabbitMQ&#xff1a;一个实现了 AMQP&#xff08;高级消息队列协…