目录
什么是bug?
调式是什么?有多重要?
调试是什么?
调试的基本步骤
debug和release的介绍
windows环境调试介绍
1.调试环境的准备
2.学会快捷键
F11 VS F10
F9 & F5
3.调试时查看程序当前信息
查看临时变量的值
查看内存信息
查看调用堆栈
查看汇编信息
查看寄存器信息
4.多多动手,尝试调试,才有进步
大家中秋和国庆快乐哦,真的耍的太开心了,今天我们抽出一点点时间来讲解VS实用调式技巧!使用的是:VS2022
在我们刚开始学习编程的时候,我们可能去模仿其他人的代码。到我们自己去写代码的阶段时候,我们可能20%的时间来写一个项目代码,80%的时间我们都会去调式代码。对于程序员来说,比写程序更加困难的事情一定是找出自己所写程序的错误。所以说学会调试代码是一件很重要的事情。这样我们就有了自己解决问题的能力。
第一次被发现的导致计算机错误的飞蛾,也就是第一个计算机程序的错误。我们今天最爱说的“bug”的由来。它的意思,和原身一致,真就是“一只臭虫”
第一个程序臭虫(Bug)的由来 - 知乎 (zhihu.com)
一名优秀的程序员也是一名出色的侦探。每一次调试都是尝试破案的过程。
调试(英语:Debugging/Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。
是否我们在调试过程是以下情形:迷信式调试!!拒绝!!
简单来说,当我们去实现产品项目,需求------→设计和开发-----→测试------→产品验收-----→发布这都是必不可少的。程序员我们在开发使用的是:Debug版本。测试人员站在用户的角度上是使用:Release版本。
那二者有什么区别呢?
经过在不同的版本底下,运行程序。我们查看发现Release相较于Debug版本使用的内存空间要少的多!这就是因为Debug有调试信息且没有任何的优化。
简单介绍几个常用的快捷键:
!想了解更多的快捷键:VS中常用的快捷键_vs快捷键-CSDN博客
简单来说,F11和F10的差别就是。F11会据语句执行,也就会调试函数内部。 F10会把函数当成一个过程去执行,一步执行到位。
F11------->进入test( )函数内部 ------->打印hehe----->出来test( )函数
F10------>test( )函数过程执行打印hehe----->执行下一条语句
F9和F5是配合使用。F9是负责断点的创建核销(遇到循环可以设置条件断点)。(光标放在需要设置断点位置)F5直接来到断点(遇到断点停下),前面全部程序一步到位执行。
鼠标的光标放在for循环------>F10设置断点成功---->F5直接来到断点(hehe已经再屏幕上打印)
特别注意
在循环处设置断点,F5会执行循环的次数,例如上面代码会执行10次for循环。
是程序逻辑上的断点,并不是物理上的断点。
当然也可以设置多个断点
当循环次数比较多,我们需要跳到某个特定的循环次数时,我们可以设置条件断点。
在调试开始之后,用于观察临时变量,局部变量等的值。
当然自动窗口和局部变量都是可以使用的,我们最常用的还是【监视窗口】
在调试开始之后,用于观察内存信息。
在调试开始之后,通过调用堆栈,可以清晰的反应函数的调用关系以及当前调用所处的位置
调用堆栈,反应的是函数的调用逻辑
在调试开始之后,有两种方式转到汇编:
1.右击鼠标,选择【转到反汇编】 2.选择【调试窗口】,选择【转到反汇编】
调试开始之后,可以查看当前运行环境的寄存器的使用信息。
✔✔✔✔✔最后,感谢大家的阅读,若有错误和不足,欢迎指正!
下篇博文我们介绍一些实例和总结错误。
代码------→【唐棣棣 (TSQXG) - Gitee.com】
联系------→【邮箱:[email protected]】