Dev-c++Debug,调试程序相关内容(防走坑)

来自小柴“傻逼”的抱怨和debug的好处

这里先抱怨一下,今天刷leetcode答案错了,但不知道错了哪,然后拿去devc++里面去debug,发现以前都可以调试的,然后调试不了了,就一整个无语住了,然后百度了一个多小时才解决,可能脑子太笨了。然后做个博客防止我下次无语住。
我以前也会经常性的去调试程序,因为错误有的时候肉眼看不出来,但我多是通过输出相应变量来进行调试的,但当变量比较多的时候且之间关系对应的时候,之间输出的话不易查看,这时候用debug会比较准确,而且debug也相对比较简单,没那么麻烦。
debug可以让我们更好的查看程序的运行流程,可以准确的定位变量,更好的让我们解决问题。

入门Dev-c++ Debug需更改的操作

刚下该编译器想要debug需要先进行几步操作。(随便一搜就有,很多这一内容的博主也指出了)
1:鼠标左键移动到工具(Tools)上

在这里插入图片描述

2:点击编译器选项

3:把里面连接器中的可以获取debug的信息选项改为yes,然后点击确认在这里插入图片描述
4:把release改为debug在这里插入图片描述
完成这四步就可以去进行debug操作了。

入门操作后的Debug操作

举个简单的代码debug
1:先设置断点,设置开始debug位置,也可以设置结束位置,也就是指出执行路径,第一个断点是开始,第二个断点是截止,没有第二个断点的话就之间是从第一个到结束该程序。在这里插入图片描述

2:再点击左下角的Debug

在这里插入图片描述
3:然后点击添加变量(Add watch),就是添加这段路径中你想查看的变量。会在左边的Debug框框里显示出来变化情况。(这一步在编译和debug前操作后操作都是一样的,看自身习惯)

在这里插入图片描述
4:点击编译,再点击debug也就是那个√。
在这里插入图片描述
5:这时会出现输入输出的界面,有输入的话输入完才能点击小面debug的功能。这样的话我们可以不断的点击下一行再看输出显示界面和那个添加变量的变化,这样我们就很清楚这段代码段的执行了,有利于学者解决问题。

添加的变量为数组或者STL中的容器该如何去操作

*(&数组或者对象名[i])@count i表示的是从什么位置开始,@count是从i这个索引位置开始后的count个元素的,这个就表示这count元素的集合。那个@count这部分也可以没有,当那个i为个变量时的访问,后面@count是无需的。

vector nums(10,0); //定义一个nums对象,那想访问它把它添加进去的时候,操作形式应该是*(&nums[0])@3,这个表示从nums[0]开始的3个元素集合也就是{0,0,0}。
int nums[10];// *(&nums[0])@9和上面创建的vector对象的那个结果是一致的。
(实际操作是这样,但不知道我的编译器对stl容器这样操作访问不了其里面的内容)

下面举个是i为变量的例子:
在这里插入图片描述

需要注意的问题和容易出错的点(建议看一下)

1. 如果执行段中或者此之前有输入,应该在显示界面中进行输入,不然debug不会执行。
2. 要将写好的代码文件放到Devc++编译器的同一个文件中不然不会产生调试信息,就更别说调试了。
3. 到了cout的时候,后面有endl和ends等无法继续,需要换成’\n’和’ ',不然无法进行下一步,会停滞不动。
4. 添加的变量不可以是STL容器的变量名,无法显示数据,而且执行段也不会执行。

devc++调试是真的恶心,这里不行那里不行,小柴表示不推荐,但如果要去参加竞赛那么可以学学devc++的调试,一般是用这个编译器的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假正经的小柴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值