acm 调试

这篇教程介绍了如何在CodeBlocks 8.02中进行调试,以找出程序错误。作者通过一个比较两个数的示例程序,演示了设置断点、观察变量变化和跟踪代码执行的过程,帮助读者理解如何在遇到程序无法得出正确结果时,通过调试找到问题所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

此教程是针对codeblocks的,请大家先安装 codeblock8.02  别装第十版,不稳定。下8.02版就行。

下载地址:

http://sourceforge.net/projects/codeblocks/files/Binaries/8.02/codeblocks-8.02mingw-setup.exe/download

安装步骤我就不说了。自己网上找,有一堆。

 

假如我编写了一段程序,编译也通过了,可就是没能得出最后结果。又一下看不出是哪里出错了。那么用调试就可以发现这些问题了!

例:

我想编一个程序,实现两个数的比较,如果谁大,输出谁。如果相等,输出-1。

 

打开编译器

写程序吧!

这是我写的程序,放心,肯定有错误,要不然咋演示?

编译,通过,运行,输入 2  3

出问题了。

现在我们来模拟一下程序执行过程,看看错误都出哪里了

1,                  关掉刚才的黑框,在你要下断点的地方按F5 ,断点就是你想让程序执行到哪暂停的意思。

比如,我现在在main()建立了一个断点。

然后把wathes选上。

2,                  然后按 上的

找不到?   

把debugger选上就有了。

3,

看到那个黄色的箭头了么?他的意思是程序执行到哪了,刚才我们再main下了断点,所以在那停住了。

,(Next Line)他会走一步,

当走这的时候再按一下

会看到消失了。其实不是消失,你在仔细看看这条语句,是输入。所以打开黑框,输入 2 3  回车

出来个框框

出错了吧,sigsegv  编译出错。仔细看看,发现a,b前面没有加& 找到错误了。点否,按  ,然后再改代码。

改好后重新调试

看,今次没有提示,直接指向第七行。

再按一下

看看现实出结果了,可是不是我们要的结果,说明函数cmp里面有问题,继续按

等到重新输入第二组用例后

(输出后面没加\n )

执行到这以后

看,它跳到了函数cmp里面。

在watch表里面加两个监测值 n1 ,n2

里面点右键 add watch 输入两次,分别是n1,n2

 

不对啊……咋进入return -1 了?再看看现在n1 的值变成5了!  (改变的值,它会用红色现实,这样显眼)

说明n1=n2  有问题。    很明显了吧 然后点结束 。改代码。重新测试一下。

(在windows中 ctrl+z 就是等于 EOF)

OK!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值