Dev C++调试基本用法

经过几天的学习,对最基本的题目与解法进行了一定程度的了解,每天补题补得晕头转向,也没有时间总结,于是在结束时候对几天学习内容进行一个基本和大概的总结。估计会持续写好几天,逃~~~。

首先最基本的先掌握下dev c++的基本调试方法。

##调试简介

首先,什么是调试?调试(也叫debug)是根据程序中数据的变化寻找错误的准确位置的方法。尤其是,编译器只能帮你找到不符合语法的错误,不能帮助你发现你的一些与你思路不符的行为,比如我经常在for循环读入数组的时候,把读入的循环i总是写成MAXN(数组的最大元素),导致一直把值保存在最后之后的位置。(有可能RE,反正数组内的元素始终都是初始化元素未改变)因此,明白调试的方法是解决这类错误的必然要求。

##例误

1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<iostream>
 5 #include<string>
 6 #include<vector>
 7 #include<stack>
 8 #include<bitset>
 9 #include<cstdlib>
10 #include<cmath>
11 #include<set>
12 #include<list>
13 #include<deque>
14 #include<map>
15 #include<queue>
16 using namespace std;
17 typedef long long ll;
18 const double PI = acos(-1.0);
19 const double eps = 1e-6;
20 
21 
22 int main(void){
23     int a; float b; double c;
24     double A,B,C;
25     scanf("%d",&a);
26     scanf("%f",&b);
27     scanf("%f",&c);
28     A = a+b;
29     B = b+c;
30     C = c+a;
31     printf("A:%fn",A);
32     printf("B:%fn",B);
33     printf("C:%fn",C);
34     return 0;
35 
36 }

本代码中的错误出现在第27行,double类型的变量是不能用%f而应用%lf读入,当然输出还是%f。所以出现如下的结果。(输入:1 1.5 2.5)

Dev C++调试基本用法

理应当出现的结果应该是:

A:2.500000

B:4.000000

C:3.500000

所以出现问题,那么需要调试。

##起点与终点

我们设计的程序也许相当复杂,所以我们不可能每次都从头到尾对程序进行调试,所以首先要设置起点和终点。

Dev C++调试基本用法

初步首先判断认为错误出现在第25行至33行,点击后成功设置好起止断点。开始调试后,点击下一步,程序逐行运行。

Dev C++调试基本用法

##设置监控对象

然后,由于是中间值可能出现问题,我们想要观测中间值,于是我们要设置监控对象,观察监控对象的变化。

点击添加查看

Dev C++调试基本用法

输入要监测的变量的名字

Dev C++调试基本用法

之后显示在左侧窗体:

Dev C++调试基本用法

一边输入值,一边点击下一步:

Dev C++调试基本用法

输入b,执行后的结果如下图显示:

Dev C++调试基本用法

由此可见,b的读入不存在问题,继续进行下一步:

Dev C++调试基本用法

之后的结果,观察下:

Dev C++调试基本用法

哦,c仍然是未初始化的随机结果,证明在这步中,c未完成读入,仔细查看下27行语句,找到了问题所在。

##结束

Dev C++调试基本用法

单击“停止执行”,结束调试的全部过程

##总结

以上就是调试过程的基本全过程了,通过调试,可以比较方便快速的查找到问题的所在,通过监测对象的选取与观察,一旦某步出现与预期不符的结果,很清楚的了解到问题的所在。

原文链接: https://www.cnblogs.com/limojin/p/8399481.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/268704

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午7:34
下一篇 2023年2月14日 下午7:35

相关推荐