C语言之实用调试技巧(1)(二)

简介: C语言之实用调试技巧(1)

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,出现的情况是没有死循环,但是会报错,原因就是我没有越界,就不构成死循环,就只是报错,希望大家能理解

本章终,下一篇给大家讲最后两个部分,详细支持!!!

相关文章
|
6月前
|
存储 编译器 C语言
【C语言】VS实⽤调试技巧&(Debug和Release)监视&内存2
【C语言】VS实⽤调试技巧&(Debug和Release)监视&内存
|
6月前
|
程序员 C语言 C++
【C语言】VS实⽤调试技巧&(Debug和Release)监视&内存1
【C语言】VS实⽤调试技巧&(Debug和Release)监视&内存
|
6月前
|
C语言
C语言使用宏定义实现等级调试输出PRINT_LEVEL
C语言使用宏定义实现等级调试输出PRINT_LEVEL
121 0
|
26天前
|
C语言
C语言调试
C语言调试
14 0
|
3月前
|
C语言 索引
C语言编译环境中的 调试功能及常见错误提示
这篇文章介绍了C语言编译环境中的调试功能,包括快捷键操作、块操作、查找替换等,并详细分析了编译中常见的错误类型及其解决方法,同时提供了常见错误信息的索引供参考。
|
5月前
|
安全 编译器 程序员
【C语言】:VS实用调试技巧和举例详解
【C语言】:VS实用调试技巧和举例详解
48 1
|
5月前
|
存储 编译器 C语言
C语言学习记录——调试技巧(VS2019环境下)
C语言学习记录——调试技巧(VS2019环境下)
52 2
|
5月前
|
程序员 编译器 C语言
C语言中的assert.h:调试助手与断言详解
C语言中的assert.h:调试助手与断言详解
|
6月前
|
程序员 C语言 C++
C语言实用的调试技巧
C语言实用的调试技巧
47 3
|
6月前
|
程序员 编译器 测试技术
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
45 1