F9
创建断点和取消断点
断点的重要作用,可以在程序的任意位置设置断点
这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去
F10
逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句
F11
逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最
长用的)
CTRL + F5
开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用
想知道更多快捷键?VS中常用的快捷键_vs快捷键_MrLisky的博客-CSDN博客
调试的时候查看程序当前信息
如果说在你的电脑上F9,F10,F11不起作用,那是Fn这个键的问题,关掉Fn就可以了
或者Fn+F10 Fn+F5 Fn+F9 Fn+F11
3.3.1 查看临时变量的值
在调试开始之后,用于观察变量的值
调试起来点击监视(任意一个窗口即可),看下图3.3.2 查看内存信息 在调试开始之后,用于观察内存信息3.3.3 查看调用堆栈
在VS2013上面,我尝试过,按住F10调试起来,然后点击调试里面有个窗口,然后再点击调用堆栈,我在函数栈帧的创建与销毁那两篇博客已经详细讲到了,大家可以去看一看复习一下,直到出了main函数为止
3.3.4 查看汇编信息
在调试开始之后,有两种方式转到汇编 第一种方式:右击鼠标,选择【转到反汇编】
第二种方式 可以切换到汇编代码
3.3.5 查看寄存器信息
4.多多动手,尝试调试,才能有进步
一定要熟练掌握调试技巧
初学者可能80%的时间在写代码,20%的时间在调试。但是一个程序员可能20%的时间在写
程序,但是80%的时间在调试
我们所讲的都是一些简单的调试
以后可能会出现很复杂调试场景:多线程程序的调试等
多多使用快捷键,提升效率
下面我们来两个实例
看代码
这时候我们如果3,期待输出9,但实际输出的是15
这个阶乘是有错误的,我现在调试起来给大家看会占用文章很多空间,大家下来按照上面的方法尝试一下
在不同的编译器上会有不同的效果,上图已经给大家做了详细的解释
在i <= 12的时候没有报错,为什么没有报错呢,因为他一直忙着死循环,没时间报错
当然i <= 14的时候就理所当然的一直死循环,希望大家能够理解
还有一种情况是i <= 11,出现的情况是没有死循环,但是会报错,原因就是我没有越界,就不构成死循环,就只是报错,希望大家能理解
本章终,下一篇给大家讲最后两个部分,详细支持!!!