调试-Debug

news2024/9/30 23:23:12

0.1 Debug环境介绍

Microsoft Visual Studio 2022中:

Debug版本的可执行程序称为调试版本,包含调试信息,不作任何优化,便于程序员进行调试。

Release版本的可执行程序称为发布版本,进行了各种优化,不可调试,以便用户使用。

因此在进行任何调试时,必须将环境设置为Debug环境,且调试的是编译没有问题,运行结果与目标结果有出入的程序。


1.1 调试方法

以下所有快捷键都可以通过点击VS2022上方的调试栏查看或使用。

按下Ctrl+F10即可启动调试。再次按下Ctrl+F10即可关闭调试。

(1)逐过程调试

在调试状态下,单击F10可以逐过程地调试。

(2)断点

是在程序的某行语句中单击F9可以生成断点。

在有断点的情况下,单击F5即可跳转至下一个断点处开始调试。注意,断点之前的语句仍有被执行,只是没有参与调试。

鼠标点击断点图标或再次按下F9可以消除断点

(3) 逐语句调试

当遇到如下代码时:

int c = Add ( a , b );

逐过程调试不会跳转进入Add函数内部。

与F10逐过程调试不同,在调试状态下按F11可以逐语句调试,遇到自定义函数时可以跳转至函数内部。

1.2 监视变量

以下是部分简单的查看变量的调用窗口:

(1)自动窗口

调试窗口中的自动窗口可以记录调试上下文附近的变量值,不用手动搜索。缺点时是不方便长时间追踪某一变量。

(2)局部变量

与自动窗口类似,但还会检测到后文才声明的变量。

(3)监视(常用

调试过程中开启监视并输入要追踪的变量名,或者将鼠标移动至变量上可以查看该变量当前的值。

监视窗口在调试时用于查看临时变量用得是最多的。

(4)内存

通过访问地址的方式查看变量。常用于查看数组变量等。

此外还有反汇编、寄存器、调用堆栈(查看函数调用逻辑)等观察窗口。

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

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

相关文章

小红书内容运营包含哪些,内容种草攻略

在这个社交属性,强势泛滥的年代,兼具了社交和电商两大功能的小红书,已经成为品牌方的兵家必争之地。今天来为大家分享下小红书内容运营包含哪些,内容种草攻略! 1、确定账号定位 这是做好小红书内容运营的第一步。一个有…

扫地机器人,不相信视觉导航

不可置否,激光雷达已经成为扫地机器人的“耶路撒冷”。 导航技术的从无到有 回顾扫地机器人的兴衰,本质是导航技术的从无到有、从弱到强、从少到多,而在这个过程中,激光雷达无疑发挥了无可替代的作用。2010年,第一台…

实时嵌入式系统环境中敏捷的基础

不同的人使用敏捷一词的含义不同。在计算中,该术语最初用于描述执行项目开发的轻量级方法,而最初的术语极限编程(XP)未能激发受托管理开发项目的众多管理人员。 基本上,敏捷软件开发指的是一组松散集成的原则和实践&a…

Vue echarts 折线图 背景颜色渐变 (两种实现方式)

需求 实现方式 两种方法 方法一:color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{},{},{}]) 方法二:避开new echarts,color: {x: 0, y: 0, x2: 0, y2: 1,colorStops: [{},{},{}]} …

【嵌入式】HC32F07X DAC模拟输出 + DMA传输

一 背景说明 使用小华(华大)的MCU HC32F07X实现两个通道的 0-5V 电压模拟输出。 二 原理分析 【1】DAC原理说明: 所谓DAC,就是Digital-Analog-Converter,数字模拟转换器。在模拟电路中,电流电压变化是连续…

漏洞复现-dedecms文件上传(CVE-2019-8933)

dedecms文件上传_CVE-2019-8933 漏洞信息 Desdev DedeCMS 5.7SP2版本中存在安全漏洞CVE-2019-8933文件上传漏洞 描述 ​ Desdev DedeCMS(织梦内容管理系统)是中国卓卓网络(Desdev)公司的一套基于PHP的开源内容管理系统&#x…

WebSocket 原理揭秘:让你彻底搞懂 Websocket 原理

WebSocket 的原理 WebSocket 是什么? WebSocket 是一种新型的协议,它可以在客户端和服务器之间建立长连接,实现双向通信。在传统的 HTTP 协议中,当客户端向服务器发送请求后,服务器会返回响应,然后连接就…

创建python虚拟环境

为什么要创建python虚拟环境? 在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,在不同的环境中进行不同需求的项目开发…

ChinaSoft 论坛巡礼 | 智慧化 IDE 论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

华为OD机考算法题:矩阵最大值

题目部分 题目矩阵最大值难度难题目说明给定一个仅包含 0 和 1 的 N*N 二维矩阵,请计算二维矩阵的最大值,计算规则如下: 1. 每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行…

怎样下载视频号视频?分享6种有效方法

在今天的数字时代,视频号视频成为了人们生活中不可或缺的一部分。有时候,我们看到了一段精彩的视频,希望能够保存下来欣赏或分享给朋友,却因为平台限制而困难重重。为了帮助你实现这个目标,本文将介绍几种简单而有效的…

【JAVA基础】多线程与线程池

多线程与线程池 文章目录 多线程与线程池1. 相关概念1.1 线程调度1.2 守护线程 2. 生命周期3. 同步机制/同步锁3.1 synchronized3.2 lock3.3 synchronized 与 Lock 的对比 4. 死锁5. 线程通信5.1 线程间的通信5.2 等待唤醒机制5.3 举例5.4 调用 wait 和 notify 需注意的细节5.5…

docker应用部署---MySQL的部署配置

docker应用部署---MySQL的部署配置 1. 搜索mysql镜像2. 拉取mysql镜像3. 创建容器,设置端口映射、目录映射4. 进入容器,操作mysql5. 登录mysql6. 使用外部机器连接容器中的mysql 1. 搜索mysql镜像 docker search mysql2. 拉取mysql镜像 #安装5.6版本的M…

<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别

前言 在现代Web开发中,JavaScript的使用几乎是不可避免的。随着Web应用变得越来越复杂,JavaScript文件的大小也在不断增长。为了提高页面加载性能,浏览器提供了async和defer两个属性,用于改变浏览器加载和执行JavaScript文件的方…

AI数字人系统源码部署,打造自己品牌的数字人克隆直播平台

AI数字人是一种利用人工智能技术生成的虚拟形象,可以模仿真人的外貌、声音、表情和动作,实现与人类的自然交互。AI数字人有着广泛的应用场景,如虚拟主播、电商直播、客服助理、教育培训等。要实现AI数字人的功能,需要部署一套完整…

数据库调优(Mysql)

1 索引 索引是帮助数据库高效查询的一种数据结构: 查询语句:select * from t where t.Col2 89; 不加索引进行数据库查询时,每次都需要将所有数据遍历一次,直到找到符合目标的数据。 加上索引之后,可以根据数据结构不同…

Hutool中那些常用的工具类和实用方法 | 京东云技术团队

❓背景 灵魂拷问1:还在为新项目工具类搬迁而烦恼? 灵魂拷问2:还在为项目中工具类维护而烦恼? 📘简述 **Hutool**它是一个Java工具集类库,包含了很多静态方法的封装:流处理、时间日期处理、正…

SAP BC PP 物料搜索帮助修改

ECC on Oracle 升级S4 on HANA ,公司启用了物料状态 MARA-MSTAE 用户想在做物料搜索帮助里面加上这个 物料状态 参考 <SAP简使-ABAP>自定义搜索帮助 - 知乎 (zhihu.com) 过程如下&#xff1a; 1)spro-物流-常规--物料主数据-工具-维护搜索帮助 以 “MAT1L” 物料&am…

SpringBoot集成Redis Cluster集群(附带Linux部署Redis Cluster高可用集群)

目录 一、前言二、集成配置2.1、POM2.2、添加配置文件application.yml2.3、编写配置文件2.4、编写启动类2.5、编写测试类测试是否连接成功 一、前言 这里会使用到spring-boot-starter-data-redis包&#xff0c;spring boot 2的spring-boot-starter-data-redis中&#xff0c;默…

前端 读取/导入 Excel文档

情况&#xff1a; 需要通过Excel表&#xff0c;将数据导入到数据库&#xff0c;但是后台人员出差了&#xff0c;我又只会PHP&#xff0c;没用过node&#xff0c;所以只能前端导入Excel文件&#xff0c;然后循环调用后台的单条添加接口了。 库&#xff1a; Excel.js&#xff08…