dev c++ 的使用和调试
使用断点调试
1.若无法调试:
工具–>编译选项–>代码生成/优化–>连接器–>产生调试信息–>no改成yes
2.调试的基本步骤:
- 一、把右上角的release模式改成debug模式
- 二、设置断点
- 三、点击全部编译,在点击对勾即可
(有蓝色的箭头表示,还没有执行,即将要执行的语句,但是蓝色一行以上的,变量可以通过调试后的进行查看的两种方式,
- ① 添加查看,来输入变量值,并查看
- ② 选中变量或表达式,在点击添加查看,即可看见左侧栏的变量值)当然通过终端控制台也可以观察变量的值;
关于循环语句断点的设置和查看:
在循环的开头和结尾分别往下依次设立断点,通过终端,便可查看语句执行的进度
3.调试的按钮及功能:
- 下一步:执行下一个语句,把函数当成一个语句直接给出结果
- 单步进入:执行下一个语句,遇见函数,则进入函数,单步执行(观察循环和函数中变量的变换的最好方式)
- 跳过:执行直到下一个断点之前,如果没有下一个断点,则直接执行到结束
4.端点常见错误:
- ① 正常情况下(没有bug)会停在断点处,呈现蓝色箭头,如果有bug,断点处依旧为红色,则说明还语句就没有执行到,过者不被执行,因为没有满足条件
- ② 调试报错:当执行了一个无效的内存引用,即操作了一个空地址,或者数组越界,就会报错
例如:char a[100000000000],就会报错,因为,根本没有这么大的数值,已经远远超过了它本身的字节长度,在调试的时候会报错。
所以char a[100],就可以,表是a有100个字符,每个字符可以写成1000000000……一百个
5.调试中出现的问题:
一、当在调试中无法往下进行scanf输入的时候,一定是循环条件出现了问题,甚至在调试的时候出现了报错,说明该输入语句有问题,请及时查阅关于此处的相关知识。
还有可能是数组越界,还有可能陷入了死循环,通常时,(循环语句,时先执行i++之类的,还是执行循环while)引起的,要小心。
二、在scanf函数出调试的时候,一定先写下一步(或者单步进入)在在终端中输入值->回车,在进入下一步(单步进入)
6.使用问题:
dev C++ 中的代码覆是因为不小心按了insert引起的插入模式,取消的话,在按一下insert
使用cout/printfl函数来打印变量
在每一条循环或语句中用printf/cout 输出变量,并查看某几个变量的值,看该变量是否正确,不正确就是printf语句上面出现了错误,仔细想想就ok,
如果所有的变量都是正确的值,变问题就出现在下printf函数的下方。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。