调试-Debug

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)内存

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制) 目录 分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制)分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MAT…

金融行业网络安全保护与三级等保合规实施方案

金融行业网络安全保护与三级等保合规实施方案旨在帮助金融机构实施符合三级等保标准的网络安全保护措施。以下是一个基本的实施方案概述: 评估和规划: 进行风险评估:评估网络系统的风险,确定安全威胁、弱点和潜在风险。 确定等级…

嵌入式软件错误的五个主要原因

嵌入式学习路线领取在软件中查找和消除潜在的错误是一项艰巨的任务。通常需要英勇的努力和昂贵的工具才能从观察到的崩溃,死机或其他计划外的运行时行为追溯到根本原因。在最坏的情况下,根本原因会破坏代码或数据,使系统看起来仍然可以正常工…

JVM(一)

一、初始JVM 1.1 初始JVM JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 机器码是由二进制编码表示的计算机指令。每个机器码通常对应一个特定的操作,如加法、乘法、跳转等。机器码是计算机能够直接执行的代码,它可以在计算机的内存中存储和执行。…

VSCode 开发 Vue 语法提示

一. 打开应用商店,搜索 vetur ,选择第一个,点击安装。 二. 安装完成后,还可以下载 Vue Language Features 解决代码警告的问题。 最后重启 VSCode 就可以使用啦。另外输入 按回车键还可以自动生成 vue 代码格式哦。 原创作者&…

2023年中国高尔夫球杆市场供需现状及趋势,量身定制会逐渐成为一种趋势[图]

随着高尔夫运动的发展,高尔夫球杆也在不断更新。20世纪80年代是高尔夫球杆设计与发展的黄金时期,大部分经典的球杆都是从这个时期被设计发明出来。高尔夫球杆的技术革新主要集中在杆头上,通过杆头的变化来提高和改善击球的效果。对应不同击球…

ATGM336H-5N一款高性能BDS/GNSS全星座定位导航模块

功能 概述 ATGM336H-5N系列模块是9.7X10.1尺寸的高性能BDS/GNSS全星座定位导航模块系列的总称。该系列模块产品都是基于中科微第四代低功耗GNSS SOC单芯片- -AT6558, 支持多种卫星导航系统,包括中国的BDS (北斗卫星导航系统),美国的GPS,俄罗斯…

【Andriod】使用adb命令安装和卸载apk的通用python脚本

文章目录 1.前言2.连接设备3.从本机通过adb安装apk4.从本机通过adb卸载apk 1.前言 如不会使用adb请看之前的文章 【Andriod】adb调试安卓手机时连接真机或模拟器的3种方法,你知道么? 2.连接设备 import os # python标准库中的os模块""&qu…

更加轻松处理相同文件名!覆盖复制操作全新升级,避免重复命名!

亲爱的用户,您是否在进行覆盖复制操作时,常常因为相同的文件名而无法正常完成任务?现在,我们为您推出了全新的覆盖复制升级版,让您更加轻松处理相同文件名,避免重复命名的尴尬局面! 首先第一步…

【23真题】四电四邮、专业课最简单的!

先科普下四电四邮有哪些:北邮、南邮、西邮、重邮、西电、成电、桂电、杭电 其中北邮、重邮、西电、成电,难度必须在第一梯队,毕竟大浪淘金,没点难度,没法筛人。南邮考通信原理,这里不做横向比较。桂电考信…

正确部署Baichuan2(Ubuntu20.4) 步骤及可能出现的问题

部署其实是不太复杂的,但实际上也耗费了接近2-3天的时间去不断的设置 1 硬件配置信息 采用esxi 虚拟化的方式将T4 卡穿透给esxi 种的ubuntu20.4虚拟机 CPU给到8 core 内存至少32GB以上 T4卡是16GB 2 预先准备OS环境 这里使用的是ubuntu20.4版本,esxi中需要设置uefI启动方…

99%的时间里使用的14个git命令

学习14个Git命令,因为你将会在99%的时间里使用它们 必须了解的命令整理 1,git init 初始化一个新的Git仓库。 这将在当前目录中创建一个名为".git"的子目录,Git会将所有仓库的元数据存储在其中。 2,git clone 克隆…

用低代码平台代替Excel搭建进销存管理系统

目录 一、用低代码平台搭建系统 1.需求调研 2.基于痛点梳理业务流程 3.低代码实现 (1)基础资料模块 (2)采购管理模块 (3)销售管理模块 (4)库存管理模块 (5&…

u-boot 通过 SD 卡启动 Linux(三)

u-boot 移植 linux 运行 linuxSD卡(rootfs) 运行 u-bootSD卡(kerneldtbrootfs) 前面单独介绍了 u-boot 的移植,linux 移植和 rootfs 根 文件系统的制作。本节主要通过将前面的串起来介绍 u-bootSD卡(kerneldtbrootfs)启动 linux。 根文件系统制作 cd rootfscp -r…

QT QProcess的使用

定义 The QProcess class is used to start external programs and to communicate with them. QProcess类是用来启动一个外部程序并与之通信。 本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(Qt实战项目视频教程代码,…

EG网关串口连接台达PLC

EG网关串口连接台达PLC 前言:台达PLC是一款国产优秀的可编程控制器,广泛应于工业控制领域,是一款性能高,运行稳定的控制器。此次我们要把台达DVP-ES系列PLC通过modbus驱动连接到EMCP物联网云平台(简称EMCP)…

论文-分布式-分布式计算|容错-分布式控制下的自稳定系统

参考文献Self-stabilizing systems in spite of distributed control可以把松散耦合的 循环序列过程 间的同步任务,看成是要保持一个这样的不变性:“系统要处于一种合法状态”因此每个进程在运行每一个可能会改变不变性的步骤之前都要先检查一下是可以执…

轻松批量剪辑:将MP4视频转换为FLV格式

在视频制作和编辑领域,批量剪辑和格式转换是非常常见的操作。将MP4视频转换为FLV格式,可以帮助我们更好地管理和发布视频内容。本文将介绍云炫AI智剪如何轻松批量剪辑,将MP4视频转换为FLV格式,帮助您提高工作效率,减少…

高防CDN:保卫您的网站免受攻击之利与弊

在当今数字化时代,网络安全对于网站经营者至关重要。高防CDN(Content Delivery Network)技术旨在提供强大的安全性,以保护网站免受恶意攻击。本文将探讨高防CDN为普通网站带来的优势与不足之处,并分析国内外高防CDN的发…

在C代码中找到栈顶的位置并访问栈空间

任务目标 在主循环中写一个任务,检查栈是否溢出。 思路 先找到任务的栈顶位置。在初始化时在栈顶位置写一个标志,运行过程中及时检查该标志是否被改写。如果标志位改变了,则判断为栈溢出。 问题 在RTOS中,任务的栈空间是自己分…