VS调试技巧

本文介绍了VisualStudio2022的调试技巧,包括bug的定义,debug与release版本的区别,常用的调试快捷键,以及如何利用监视和内存窗口解决编程问题。强调了编写代码前的思考和调试的重要性。
摘要由CSDN通过智能技术生成

  在写代码的过程中必然会遇到问题,调试程序必不可少,这里我们就介绍一下 Visual Studio 的调试技巧。
以VS2022为例

1. bug起源

  程序错误,即英文的Bug,也称为缺陷、臭虫,是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。 早期的计算机由于体积非常庞大,有些小虫子可能会钻入机器内部,造成计算机工作失灵。史上的第一只 Bug ,真的是因为一只飞蛾意外走入一电脑而引致故障,因此Bug从原意为臭虫引申为程序错误。 一些有趣的Bug有时也会成为一种乐趣。在电脑游戏中,一些Bug,假如不令游戏出现大错误的话,经常会变成一种玩游戏时的秘技。

2. 调试

  调试(debug):对功能、程序等进行调整和实验验证。
  编好程序后,用各种手段进行查错和排错的过程。作为程序的正确性不仅仅表现在正常功能的完成上,更重要的是对意外情况的正确处理。

3. debug 和 release

debug 和 release

3.1 debug

  debug通常被称为调试版本, 相当于一个放大镜,帮助寻找错误,而这个放大镜被我们写程序的人捏在手里,如何正确使用就看我们自己。
  当我们用的是debug版本时候,系统就会生成一个debug版本的可执行程序,这个可执行程序就包含调试信息,不做任何优化,便于调试。

3.2 release

  release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
  既然称之为发布版本,顾名思义就是要发布,给用户使用。设置为 release 版本后,系统生成的 release 版本的可执行程序进行了优化,就不包含调试信息,在大小和运行速度上都是最优的,目的是方便用户使用。

4.1 调试快捷键

下面介绍一下最常见的快捷键:
  
快捷键
  
F9:创建断点或取消断点。
F5:启动调试,一般配合 F9 使用。

  说明:在逐过程(F10)的状态下,如果有已经有创建的断点,按 F5 会直接跳到断点处节省了时间。

F10:逐过程, 逐过程执行某个活动。通常用来处理一个过程,也可以是一条语句。
F11:逐语句,单步执行某个活动,每次只执行一条语句。

  值得注意的是:当程序中有调用函数时,使用 F10 是不会进入到被调用的函数里面去的,只有 F11 才能进入被调用函数中。

F10和F11
  
虽然按 F10 没有进入到被调用的函数中去,但是被调用函数中的代码块都会执行,F11 只是进入到函数中观察每条语句的执行。

Ctrl+F5:开始执行(不调试)。

F5:启动调试,启动目标文件并将调试器附加到目标进程中,一般用于通过加断点调试用;
Ctrl+F5:开始执行(不调试),启动目标文件,但不附加调试器。

5. 监视和内存

调试过程中遇到的问题如果 逐过程(F10) 或者 逐语句(F11) 没有发现的,可以借助监视和内存来解决问题。

5.1 监视

监视用来监视变量或者其他值,时刻查看变量的变化,帮助我们解决问题。

常用的是普通监视窗口,手动输入变量。
而自动窗口会自动生成变量或其他值,这些自动生成的项会根据实际情况时刻发生变化,不利于观察。

监视

5.2 内存

我们在变量窗口输入变量的地址之后,可以观察到几条信息,帮助我们理解。
  
内存
内存图解
  
内存的地址一般输入&a,&c,arr 等。

最后

  编译器只会报语法的错误,并不会报逻辑的错误。所以写程序之前要多思考,尽量避免关键词拼写的错误或者一些其他的错误。
如果程序出了问题,可参考错误列表或者调试起来一步步纠错。
希望道友们写代码一气呵成!!!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值