Dev C++单步调试/debug详细图解

dev下载

拿当前蓝桥杯所使用的5.4.0版本Dev C++举例
蓝桥杯官网下载地址
只能安装一个版本的dev 如果之前安装过需要先卸载原有版本

举例

来一道简单的题输入两个整数A, B 输出A+B的和
数据保证输入的A和B都在int范围内
既然是int就拿int变量存了,附带一段看似正确的代码

#include <stdio.h>

int main()
{
	int a, b;
	scanf("%d%d", &a, &b);
	int c = a + b;
	printf("%d\n", c);
	
	return 0;
}

在这里插入图片描述
输入2和5 输出7看似答案正确了
如果这是一道题你将会收到一个Wrong Answer 为什么呢
在这里插入图片描述
当输入2e9+2e9之后会发现结果输出了一个负数(2e9是在int范围内的整数)
当发现程序出错而不知道错在哪里的时候就需要单步调试来找出错误了

单步调试方法

在这里插入图片描述
想要使用dev编译器进行单步调试写代码的时候就需要创建为项目 而不能是单个的文件
点击文件-新建-项目
在这里插入图片描述
选择ConsoleApplication(终端应用程序也就是黑色的框) 名称自己定一个
在这里插入图片描述
选择一个项目保存的路径 保存就创建完成了
在这里插入图片描述
可以在左边看到项目 点+展开双击main.cpp将代码粘贴进去

在这里插入图片描述
点击代码左侧可以将当前行添加断点
断点的作用就是当调试时代码运行到断点将会停止下来 等待你下一步指令再继续运行
在这里插入图片描述
添加好断点后按F5或者点击调试进入调试模式 每次修改后需要先编译再启动调试否则会调试上次的代码
在这里插入图片描述
进入调试模式后当前运行到的位置将会变成蓝色 左侧会多出一个调试窗口 用来监视变量 下面会多出一些按钮 作用等用到再讲
在这里插入图片描述
在左侧的调试窗口添加两个变量监视 现在就可以看到两个变量当前的值了(46和这个奇怪的数字是因为新的变量未被初始化内存位置的原数值)
在这里插入图片描述
按F7或者点下一步会发现一点反应都没有这是因为当前需要我们输入数字了 当输入完成后会自动向下运行一行
在这里插入图片描述
输入刚才出错的数据两个2e9会发现蓝色的运行到c = a + b的哪一行 并且a和b成功赋值2e9说明接受没有问题
在这里插入图片描述
添加变量c的监视并按下F7再运行一行发现c的值被改为了一个负数 找出错误所在 因为C/C++的int变量范围为-2147483648到2147483647 两个2e9的数值相加超出范围
在这里插入图片描述
当找出错误后按F6或停止执行退出调试 修改代码内变量类型为long long(范围-9e18到9e18) 接受和输出改为%lld再次输入两个2e9发现答案正确

小结

单步调试是最常用的查找代码bug的方法 可以清楚的看到代码内部变量存储情况或者运行到哪个位置发生错误 如果程序没有按照预期执行则发现错误
这里只说了F5开始调试 F6停止调试 F7运行到下一行
还有跳过按钮(运行到下一个断点停止) 跳出函数按钮(当在函数内部时运行到函数结束停止) 这里不再一一说明
切记调试之前需要先按F8进行编译否则会调试上次的代码!!

猜你喜欢

转载自blog.csdn.net/CaprYang/article/details/84075853