visual studio 2022调试技巧介绍(1)

简介: 1.什么是bug?bug是计算机领域专业术语,bug原意是“臭虫”,现在用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。2.调试是什么,如何调试?2.1 调试的概念调试简单来说就是调试是保证所提供的设备能够正常运行的必须程序。通过一些工具对代码进行检测,修复bug。

1.什么是bug?

bug是计算机领域专业术语,bug原意是“臭虫”,现在用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

2.调试是什么,如何调试?

2.1 调试的概念

调试简单来说就是调试是保证所提供的设备能够正常运行的必须程序。

通过一些工具对代码进行检测,修复bug。

2.2调试基本步骤

1.确认程序是错误的

2.用各种方法对错误进行定位

3.用工具确认错误原因

4.对错误提出解决方案

5.对程序进行更改,重新测试

3.release和debug介绍

Debug通常是调试版本,它包含调试信息,并且不做任何优化,便于程序员调试(这个版本是专门给程序员使用的)

release称为发布版本,它往往对代码运行速度和代码大小进行了优化,以便于用户使用。

Debug版本和release版本比较:

b3590d9815ddf5d2ded09b0fe4ff733f.png

显然,release版本的空间大小要比debug空间大小要小。

还有一点就是:release版本是没有调试的,debug版本具有调试信息,因为release版本是给用户使用的,而用户又不懂编程调试,所以就没有调试信息。

4.visual studio 2022编辑器快捷键学习

4.1 关键一步

了解到debug版本是可以调试的,所以在使用visual studio 2022版本时首先环境是配置是debug版本:

dabf1c788b22433baaabb661ae0c612a.png

4.2 快捷键介绍

4.2.1 常用快捷键

4.2.1.1 生成快捷键

Ctrl+Shift+B:生成解决方案

Ctrl+F7:编译

Alt+F11:对解决方案进行运行代码分析

4.2.1.2 调试常用快捷

Ctrl+Shift+F9:删除所有断点


Ctrl+Alt+E:异常


Ctrl+Alt+Q:快速监视(或者Shift+F9)


Ctrl+Shift+F5:重启(在调试起来后使用)


Ctrl+F10:运行到光标处


F5:启动调试,经常和断点搭配使用。先是F9找到想要检测的位置,然后F5进行调试,可以直接从断点处检测。


Ctrl+F5:不调试直接运行处结果。


F11:逐语句,更加细节的观察,可以直接跳进函数内部检测。


Shift+F11:单步跳出(跳出调试)


F10:逐过程,可以处理一个过程(函数、语句)


F9:创建断点和取消断点

断点的作用就是可以让程序跳到想要的位置随意执行,继而一步步执行下去。


Alt+6:启动内存1(需要先F10调试起来后才能使用,启动内存2:Ctrl+Alt+2;启动内存3:Ctrl+Alt+3)


Ctrl+Alt+V+A 自动窗口(调试后才能使用)


Ctrl+Alt+C:调用堆栈(调试后才能使用,或者用Alt+7)


Alt+8:转到反汇编


Ctrl+Alt+W+1:启动监视窗口1(启动监视窗口2:Ctrl+Alt+W+2;启动监视窗口3;Ctrl+Alt+W+3;启动监视窗口4:Ctrl+Alt+W+4)


Alt+4:局部变量窗口


Alt+5:寄存器


Shift+F5:停止调试

4.2.1.3 编辑常用快捷键

Alt+向右键:完成单词(Ctrl+空格键)


Ctrl+F:查找


Ctrl+Shift+F:在文件中查找


Ctrl+G:转到


Ctrl+F12:转到声明


F12:转到定义(前提是必须要有声明)


Ctrl+,:导航到


Alt+F12:查看定义


Ctrl+H:替换


Ctrl+Z:撤销


Ctrl+K+C:注释所选内容


Ctrl+K+U:取消所选注释内容

4.2.1.4 文件常用快捷键

Alt+F4:退出文件


Ctrl+N:新建文件


Ctrl+Shift+N:新建项目


Ctrl+O:打开文件


Ctrl+Shift+O:打开项目


F2:重命名(鼠标必须指在文件名上才能重命名操作)


Ctrl+Shift+S:全部保存

4.2.1.5 项目常用快捷方式

以上快捷是根据我的默认的visual studio 2022选出的常用实用快捷键,如果在你们的编译器上不同话可根据编译器上提供的快捷消息来采取,也可以看看这个链接:visual studio 2022键盘快捷方式

4.2.2 调试时有需求查看的信息

4.2.2.1 查看临时变量

a082bc76929f035c6269ca028abc3744.png

4.2.2.2 查看内存消息

e20f68ff81240d4c5cd27ed3c5d63bb3.png

4.2.2.3 查看调用堆栈

55f4dec915f60a61a7aa421d4efb9ac2.png

4.2.2.4 查看汇编信息

fd038cf87f29094decde58906e7dcf5e.png

4.2.2.5 查看寄存器信息

79448485a18bf5680b651c029950bc95.png

5.调试实例

5.1 实例一

求 1!+2!+3! …+ n! ;不考虑溢出.

int main()
{
  int i = 0;
  int sum = 0;//保存最终结果
  int n = 0;
  int ret = 1;//保存n的阶乘
  scanf("%d", &n);
  for (i = 1; i <= n; i++)
  {
    int j = 0;
    for (j = 1; j <= i; j++)
    {
      ret *= j;
    }
    sum += ret;
  }
  printf("%d\n", sum);
  return 0;
}

这段代码输出;




4dfcf74d21cf4310c994d45b7b3c8373.png

为什么1!+2!+3!的阶乘是15呢?不应该是9吗?,下面F10调试起来看一看:


1592bbc0137deb0258c72083ab64120f.png

最终解决后的代码:

int main()
{
  int i = 0;
  int sum = 0;//保存最终结果
  int n = 0;
  int ret = 1;//保存n的阶乘
  scanf("%d", &n);
  for (i = 1; i <= n; i++)
  {
    int j = 0;
    ret = 1;
    for (j = 1; j <= i; j++)
    {
      ret *= j;
    }
    sum += ret;
  }
  printf("%d\n", sum);
  return 0;
}



































相关文章
|
算法 安全 程序员
Visual Studio实用调试技巧---让你成为高端的程序员
Visual Studio实用调试技巧---让你成为高端的程序员
242 0
Visual Studio实用调试技巧---让你成为高端的程序员
|
存储 安全 NoSQL
Visual Studio 2022 你必须知道的实用调试技巧
大家好,前面我们讲了Visual Studio 2022的安装和使用以及scanf报错的解决方法 今天分享一些实用的 VS 技巧,而这些技巧很多人都不知道。当你以后在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?有时候你知道一些别人不知道的小技巧便可以让你显得更专业。 PS:本文所有示例演示均基于 Visual Studio 2022 版本。
273 0
|
NoSQL 编译器 程序员
Visual Studio2022编译器实用调试技巧
Visual Studio2022编译器实用调试技巧
|
安全 程序员 编译器
visual studio 2022调试技巧介绍(2)
1.什么是bug? bug是计算机领域专业术语,bug原意是“臭虫”,现在用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。 2.调试是什么,如何调试? 2.1 调试的概念 调试简单来说就是调试是保证所提供的设备能够正常运行的必须程序。 通过一些工具对代码进行检测,修复bug。
143 0
visual studio 2022调试技巧介绍(2)
|
C语言 C++
【五一创作】Visual Studio常用调试技巧的温习
【五一创作】Visual Studio常用调试技巧的温习
98 0
|
编译器 程序员 C语言
你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧(下)
4.多多动手,尝试调试,才能有进步。🙌 5. 一道经典面试题目,这里用调试进行演示分析:🙌 6. 如何写出好(易于调试)的代码。🙌 6.1 优秀的代码: 6.2 典型栗子示范: 6.3 const的作用 7. 编程常见的错误🙌 7.1 编译型错误 7.2 链接型错误 7.3 运行时错误 总结撒花💞
288 0
|
算法 程序员 编译器
你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧(上)
前言🙌 1. 什么是bug?🙌 2. 调试是什么?有多重要?🙌 2.1 调试是什么? 2.2 调试的基本步骤 2.3 Debug和Release的介绍。 3. Windows环境调试介绍🙌 3.1 调试环境的准备 3.2 学会快捷键 3.3 调试的时候查看程序当前信息 3.3.1 查看临时变量的值 3.3.2 查看内存信息 3.3.3 查看调用堆栈 3.3.4 查看汇编信息 3.3.5 查看寄存器信息
497 0
|
IDE 安全 JavaScript
Visual Studio调试技巧 -- Attach to Process
一般写完代码时,我们通常会启动调试运行一下看看是否正确,启动运行的方式无非是F5-- Start Debugging 或 Ctrl+F5-- Start Withour Debugging(注:不同版本或系统环境不同时,快捷键或有所变化),如下图1。不用说大家都能感觉到,使用Ctrl+F5调试时程序从启动到运行通常比使用F5快得多。使用Ctrl+F5时通常是想快速运行一遍,以便检查程序运行的结果是否符合预期。使用F5时通常是想查看代码内部的运行情况,以便检查到底是哪一步出了问题,或者所有参数是否都正确。
Visual Studio调试技巧 -- Attach to Process
|
C++
Visual Studio 原生开发的10个调试技巧(二)
原文:Visual Studio 原生开发的10个调试技巧(二)   我以前关于 Visual Studio 调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识。以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号)。
1178 0