dev c++的使用和调试方式

来自:网络
时间:2024-06-09
阅读:

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函数的下方。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

返回顶部
顶部