Dev C++ 调试功能详细总结

Posted CodeAllen嵌入式

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dev C++ 调试功能详细总结相关的知识,希望对你有一定的参考价值。

原文链接:

Dev C++ 调试功能详细总结https://mp.weixin.qq.com/s/H9VwLNcJ0tY3j3265R0_7Q

大家好,我是CodeAllen(康哥),今天是2023年2月25日,继上一篇介绍了我在Windows端经常用来验证代码的工具Dev C++的基本使用后,今天主要介绍下这个软件的调试功能。

Dev C++安装及使用教程Dev C++安装及使用教程https://mp.weixin.qq.com/s?__biz=MzIwMzkzMzI0OA==&mid=2247486574&idx=1&sn=c66297c4097eca29dc62195773687c45&chksm=96c69f41a1b11657d44692ad5323f6546d49c0dd8e116ca7c8f7dcf397a86864646c592daf4a&scene=21#wechat_redirect

正文:

对于编程学习,可以说调试能力是最重要的技能,没有之一!尤其是C/C++/Linux开发,有相当部分时间都会花在调试上,对于这部分后续还会有更加系统的总结。所谓调试程序,就是控制编译器一行一行地执行代码,过程中可以清楚看到每个变量值的变化情况、函数的调用过程等,进而发现程序中隐藏的错误或者低效的代码。

首先先确认下你的Dev C++调试配置是否正常,有些很常见的问题提前确认下。

1.工具栏中,选择编译选项

2.开启产生调试信息,这个不开会导致无法进入调试模式

3.error-begin No source file named xxx的错误解决有些同学可能调试的时候会遇到,如果没有可以跳过,方法是依次添加下边的配置

-g3

-static-libstdc++ -static-libgcc -g3

gcc.exe -D__DEBUG__

g++.exe -D__DEBUG__

4.正式开始调试,以下边的代码为例子,有电脑的同学可以直接实践下

 1#include <stdio.h>
 2
 3int main() 
 4    int n, cnt = 0;
 5
 6    scanf("%d", &n);
 7    for(int j = 0; j < n; j ++) 
 8        cnt = cnt + 1;
 9    
10    printf("%d", cnt);
11
12    return 0;
13

添加断点,这是调试功能的核心,下边是几个步骤:

1.左键添加断点,主要是在比较容易出错,或者有怀疑点的位置

2.添加变量查看,可以实时看到代码中变量的值,非常的直观

3.点击②后,会有③窗口,添加代码中变量名即可

4.输入回车后,在左侧④调试窗口就会出现变量的实时值

点击调试或者按F5启动调试功能,会出现黑色的控制台窗口

此时根据代码,代码会走到第六行scanf等待你的键盘输入

​这里我们输入5回车

断点行会变为蓝色,意味着此时代码运行到第8行并停止

左侧变量n由于执存储了键盘的输入变为了5,cnt由于还没有执行仍为0

点击下一步,代码会继续执行一行,根据逻辑会运行到for循环入口,cnt由于执行了一次变为了1,而n由于没有操作所以还是5

另外几个调试功能的作用(都可以动手实践下):

  • 下一步:控制编译器向下执行一行语句;

  • 单步进入:功能和“下一步”按钮类似,不同之处在于,当程序中调用某个自定义的函数时,此按钮可以进入到函数内部,继续调试函数内部的代码,而 “下一步” 按钮不会;

  • 跳过:继续执行程序,遇到下一个断点暂停执行;

  • 停止执行:停止调试程序。

当最后执行完for循环,printf函数会输出结果5到控制台,左侧cnt值也增长到了5

​这就是一次相对比较简单的调试了,大家可以亲自动手实践下,可能会到各种奇怪的问题,都非常正常,开发本就是解决问题的一个过程,这个调试虽然简单,但是基本的原理就是这样了,对于很多项目中都可以用到。

以上是关于Dev C++ 调试功能详细总结的主要内容,如果未能解决你的问题,请参考以下文章

C语言dev c++,选项release,debug,profiling啥意思?

入门必备—常用的C语言编程软件

C++知识总结(内附超详细知识框架图)

C++知识总结(内附超详细知识框架图)

Dev-Cpp下载与安装 [ 图文教程 ]

大家初学c语言用的编辑器和编译器是怎么下载安装详细步骤?