【Visual Studio】使用VS调试(Debug)

确保在Debug模式下而不是Release

断点(break point)

直接在有代码的行前单击,会出现红色的点(再次单击会取消);或者光标停留在某行,按F9

这意味着程序当执行到这一行时会终止

在打完断点后点击”本地Windows调试器“或者按F5

往下翻会有代码供测试

界面如下:

Debug01

在工具栏有这样三个操作

Debug02

  • 逐语句(step into):步入进函数,看看这个函数做了什么——F11
  • 逐过程(step over):从当前函数跳到下一行代码——F10
  • 跳出(step out):跳出当前函数,回到调用这个函数的位置——Shift+F11

测试代码

#include<iostream>
using namespace std;
int main() {int a = 8;a++;const char* string = "Hello";for (int i = 0; i < 5; i++) {const char c = string[i];cout << c << endl;}cout << "Hello World" << endl;
}

首先我们来看a的值,显示10016,你可能会疑惑:为什么是10016?为什么不是10086? 为什么不是8?

这是因为虽然箭头此时指向这条语句,但并不意味着已经运行了这行代码;而是我们正要运行它

所以调试器显示的是:a将要被设置的内存位置的数字

我们没有把这个变量设置成任何东西,它只是未初始化的内存

看到这里你就明白了为什么你的a的值既不是8也不是10016

内存视图(memory view)

  • 调试->窗口->内存->内存1
  • Debug->windows->memory->memory1

输入&a 就被带到变量a的内存地址

按F10后我们可以观察到a的值变为了8(局部变量/自动窗口)

四个字节的内存也被设置为8(内存1): 08 00 00 00

再按F10,a变为了9

再按F10,string也发生了变化。前面的是它的地址,

将其复制到内存1中查找:48 65 6c 6c 6f ;这是ASCII码,翻译过来就是Hello

如果你不想一个个按F10,而是让程序接着运行到某一句,就在那一句前打断点,按F5或continue

另外,你还可以右键->转到反汇编,来查看CPU指令

以上就是全部内容,希望你能很好的应用Debug

视频:https://www.youtube.com/watch?v=0ebzPwixrJA

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

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

相关文章

B2.0:对硬件学习的一些个人心得感悟

对于硬件学习&#xff0c;所有人都会迷茫的找不到学习的路径和方向&#xff0c;都是自我摸索或者老师带领或者其他情况&#xff0c;而我倒是没有机会接触到现实的老师带我领进这个门&#xff0c;自然走的弯路比较多&#xff0c;所以引申出这篇文章&#xff0c;来聊聊硬件学习的…

Cursor设置

一&#xff1a;设置 Port: 7890TUN Mode&#xff1a;开启二&#xff1a;Editor Settings值为http://127.0.0.1:7890三&#xff1a;Cursor 测试一下

Windows下使用PyInstaller打包PyQt项目

在 Windows 环境下&#xff0c;使用 PyQt 开发的项目可以通过多种工具打包成 可执行文件&#xff08;.exe&#xff09;&#xff0c;以下是几种常见的方法及详细步骤&#xff1a;1. 使用 PyInstallerPyInstaller 是最常用的 Python 打包工具&#xff0c;支持 PyQt5/PyQt6/PySide…

AI大语言模型在生活场景中的应用日益广泛,主要包括四大类需求:文本处理、信息获取、决策支持和创意生成。

一、AI大语言模型生活应用全景图&#xff08;Mermaid流程图&#xff09;graph TDA[生活小事需求] --> B{需求分类}B --> C[文本处理类]B --> D[信息获取类]B --> E[决策支持类]B --> F[创意生成类]C --> C1[邮件写作]C --> C2[内容润色]C --> C3[文档总…

物奇路由器Wi-Fi芯片荣膺2025中国创新IC-强芯领航奖,并亮相第五届RISC-V中国峰会

近日&#xff0c;第五届中国集成电路设计创新大会在苏州举办&#xff0c;物奇携多款高性能网络通信与终端人工智能芯片亮相展会&#xff0c;其中首颗路由器Wi-Fi6芯片WQ9301凭借独特的架构创新和领先的性能优势&#xff0c;在国产IC强芯评选中脱颖而出&#xff0c;荣膺2025中国…

【已解决】npm install报错

~/autodl-tmp/App/magic_conch_frontend# npm install报错内容&#xff1a;WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: vitejs/plugin-vue5.1.4, npm WARN EBADENGINE required: { node: ^18.0.0 || >20.0.0 }, npm WARN EBADENGINE current: { no…

IPC总结

IPC 是 Inter-Process Communication&#xff08;进程间通信&#xff09;的缩写&#xff0c;指的是操作系统中不同进程之间传递数据、交换信息或同步行为的机制。由于进程在内存中拥有独立的地址空间&#xff0c;无法直接访问彼此的内存&#xff0c;因此需要通过操作系统提供的…

java之父-新特性

目录 一.函数式接口Functional Interface 1. Supplier接口 --供给型接口 2. Consumer接口 --消费型接口 3.Function接口 --转换型接口 4. Predicate接口--断言型接口 5. Comparator接口--比较器接口 一.函数式接口Functional Interface 只有一个抽象方法的接口&#xff…

GPT-5的多模态能力如何?

GPT-5的多模态能力如何&#xff1f;概述问题1-非整点闹钟问题2-数数问题一问题3-数数问题二小结概述 2025年&#xff0c;8月8日凌晨&#xff0c;OpenAI 发布了 GPT-5&#xff0c;让我们看看其多模态能力如何&#xff0c;用之前大模型无法解决的题目测试&#xff0c;数数问题时…

多模态RAG赛题实战--Datawhale AI夏令营

参考自科大讯飞AI大赛&#xff08;多模态RAG方向&#xff09; - Datawhale 赛题意义&#xff1a; 我们正处在一个信息爆炸的时代&#xff0c;但这些信息并非以整洁的纯文本形式存在。它们被封装在各种各样的载体中&#xff1a;公司的年度财报、市场研究报告、产品手册、学术论…

SQL Server 创建 PostgreSQL 数据库 链接服务器指南

SQL Server 创建 PostgreSQL 数据库 链接服务器指南SQL Server 创建 PostgreSQL 数据库 链接服务器指南一、准备工作二、创建链接服务器三、测试连接四、常见问题解决五、注意事项SQL Server 创建 PostgreSQL 数据库 链接服务器指南 一、准备工作 安装 PostgreSQL ODBC 驱动&a…

李宏毅深度学习教程 第16-18章 终身学习+网络压缩+可解释性人工智能

【2025版】44、第十四节 机器终身学习 一 为什么今日的人工智能A_哔哩哔哩_bilibili 【2025版】42、第十三节 神经网络压缩 一 类神经网络剪枝PruA_哔哩哔哩_bilibili 【2025版】30、第九节 机器学习的可解释性 上 – 为什么神经网络可以正_哔哩哔哩_bilibili 目录 1. 终生…

LiveQing视频RTMP推流视频点播服务功能-云端录像支持按时间段下载录像时间段下载视频mp4

LiveQing视频RTMP推流视频点播服务功能-云端录像支持按时间段下载录像时间段下载视频mp41、云端录像2、配置云端录像3、查看云端录像3、列表模式4、时间段下载5、时间段下载接口6、RTMP推流视频直播和点播流媒体服务1、云端录像 LiveQing 支持服务器集中录像&#xff0c;将rtm…

Spark在什么情况下CBO才会判断失误,如何避免

在 Spark 中&#xff0c;CBO&#xff08;基于成本的优化器&#xff0c;Cost-Based Optimizer&#xff09;通过分析表的统计信息&#xff08;如行数、列基数、数据分布等&#xff09;计算不同执行计划的“成本”&#xff0c;并选择成本最低的计划。但在以下场景中&#xff0c;CB…

【第12话:感知算法基础4】图像分割:深度学习图像分割模型介绍入门及常用模型详解

深度学习图像分割模型介绍入门及常用模型详解 图像分割是计算机视觉的核心任务&#xff0c;旨在将图像划分为语义区域。随着深度学习的发展&#xff0c;分割模型在精度和效率上取得重大突破。以下按技术演进顺序详解主流模型&#xff1a;1. FCN&#xff08;全卷积网络&#xff…

AI 大模型企业级应用落地挑战与解决方案

引言&#xff1a;AI 大模型的企业价值与落地困境近年来&#xff0c;以 GPT-4、Claude 3、文心一言为代表的大语言模型&#xff08;LLM&#xff09;展现出惊人的自然语言理解与生成能力&#xff0c;吸引了众多企业的关注。据 Gartner 预测&#xff0c;到 2025 年&#xff0c;40%…

微服务如何保证系统高可用?

今天我们来探讨一个综合性但至关重要的话题&#xff1a;给你一个微服务应用&#xff0c;你该如何系统性地保证其高可用性&#xff1f;在互联网技术岗的面试中&#xff0c;高并发、高可用和大数据通常被视为衡量候选人经验的三大黄金标准。但说实话&#xff0c;是否拥有真正的高…

推理路径的动态调控:让大模型学会“恰到好处”的思考

当前大型语言模型&#xff08;LLM&#xff09;通过思维链&#xff08;CoT&#xff09;提升复杂任务推理能力&#xff0c;但研究表明其推理路径存在严重冗余——例如反复验证或无效思维跳跃&#xff0c;导致计算资源浪费和“幻觉”增加。论文&#xff1a;Test-time Prompt Inter…

springboot 2.4跨域变化和swagger结合的问题

前言 最近升级老项目&#xff0c;springboot2.2升级2.x最新版&#xff0c;升级项目本身升级很正常&#xff0c;毕竟springboot升级3.x以下&#xff0c;升级3.x需要spring6.x&#xff0c;需要jdk17.但是升级的项目在自测时正常&#xff0c;一旦真正测试就报跨域问题了。排查才发…

AWT 基本组件深入浅出:Button/Label/TextField/Checkbox/Choice/List 全面实战与性能优化

Java AWT 基本组件的原理与用法&#xff0c;提供可运行示例、布局最佳实践、事件处理与“性能优化”建议&#xff0c;帮助你快速构建稳定的桌面界面。 Java AWT, GUI, Button, Label, TextField, Checkbox, CheckboxGroup, Choice, List, 事件处理, 布局管理器, 性能优化 AWT…