VS2022中的调试

目录

前言:

使用:

调试:


前言:

在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具让你的工作效率翻倍?是智能的代码编辑器,强大的版本控制工具,还是那些让你事半功倍的自动化脚本?让我们一起分享、探讨,找到能让效率飞升的秘密武器。

为了提高咱们的日常编程的效率,好的编译器肯定是少不了的,今天我们着重介绍VS2022这款编译器。

使用:

首先是VS2022的日常使用,不妨有初学的小伙伴一开始使用vs的时候,会发现VS有一个功能是自动弹出你可能需要的变量或头文件,如下:

这种我们可以通过Tab或者回车,选中我们需要的文件或者变量,这是自动弹出的方便性。我们如果自己创建了一个变量,vs也是可以自动弹出,如:

报错和警告也同时具有,如果我们出现了语法问题,在对应的语法上下文就会出现对应的红色波浪线等:

警告方面比如,我们输入scanf,但是没有对返回值进行接受,就会报警告:

对于注释部分,简单的快捷方式如ctrl + k + c,快速取消注释如ctrl + k + u就可以快速取消。

这是日常使用部分,我们今天的重点是调试部分,因为日常编码部分我们是可以快速检查,通过快速跑读代码以及正常的报错是可以提高编码的速度的,但是一个程序的交付,还有看最终的调试部分,所以重点是调试。

调试:

调试部分我们首先引出一个话题,什么是debug 什么是release?

这是两种版本,release是发行版本,在Linux章节如果我们需要调试,就需要gcc -g ...生成debug版本,包含调试信息我们才可以调试,但是VS这里即便是release版本我们也是可以执行调试的:

左上角的就是Release,我们建议,调试的时候使用debug版本,因为release版本本来也不是调试的,而且如果将release作为调试的话,优化是比较严重的,并且在Vs2022的大体上,优化更重,比如拷贝 + 构造会直接优化成构造都是简单的,优化一旦加大我们还不容易看懂。

这是debug和release的区别。

那么调试我们主要介绍这些调试技巧:F10 F11 F5 + F9 监视窗口 内存窗口的使用,这些操作已经足以覆盖我们的日常使用了。

咱们调试的时候,分为逐语句调试和逐过程调试,最直接的说就是经过一条函数调用语句的时候,会不会进入函数体。

F11是逐语句,我们平时可以直接使用F10或者F11进入调试,F10是逐过程。

那么F5 + F9的意思是,它们经常搭配到一起使用,但是F5如果直接按就有点类似于直接运行程序,这是因为没有断点,F9用来打断点,如果有了断点,F5默认将程序执行到该部分:

就像这样。

监视窗口:

调试开始之后,我们可以在窗口那里找到监视窗口,但是这里还是温馨提示,监视窗口有的时候并不是太准确,所以应该结合打印结果来看,监视窗口我们可以看到变量的值,类型,甚至可以直接&变量,这些操作都是被允许的,部分操作是不太被允许的,比如对右值取地址,即超出语法范围的操作,甚至就是说,可以在监视窗口执行简单的运算。

内存窗口:

同样是在窗口部分点开,我们在里面一般都是通过地址来学习程序的哪里应该怎么做。

一般都是要变量初始化结束之后,我们才能看到对应的地址,但是地址并不是万能的,比如右值,有的右值是将亡值,但是在内存空间是存在自己的空间的,我们没有办法看到,但是不能说它没有空间。

汇编:

汇编有的时候也是我们的一大学习利器,我们可以通过汇编来谈底层,比如new的底层为什么是malloc + 初始化 + 抛异常,为什么new = operator new + 抛异常,许多函数调用我们都是可以通过汇编的底层代码来看的。


感谢阅读!

相关推荐
疑惑的杰瑞1 天前
[乱码]确保命令行窗口与主流集成开发环境(IDE)统一采用UTF-8编码,以规避乱码问题
java·c++·vscode·python·eclipse·sublime text·visual studio
这是我581 天前
C++掉血迷宫
c++·游戏·visual studio·陷阱·迷宫·生命·
△曉風殘月〆2 天前
Visual Studio 2019/2022 IntelliCode(AI辅助IntelliSense)功能介绍
ide·visual studio·intellicode
Antonio9152 天前
【模板代码的组织结构与模板的显式实例化和声明】模板代码的组织结构与模板的显式实例化和声明
开发语言·c++·算法·visual studio
这是我582 天前
C++3D迷宫
c++·3d·visual studio·z·x·迷宫·y
Neo Wordsworth2 天前
通义灵码在Visual Studio上
windows·ai·visual studio
小女孩真可爱3 天前
Visual Studio配置opencv环境
ide·visual studio
tangjunjun-owen3 天前
windows系统visual studio编译器配置opencv库
ide·人工智能·windows·opencv·visual studio
Eiceblue3 天前
通过C# 裁剪PDF页面
开发语言·pdf·c#·visual studio