调试技巧c语言,保姆教学

c语言中的调试技巧是程序员必须学会的一个技巧,在学习前我们先了解一下,Debug和Releasee4a9061b750a44a6bf9e66d9e81b4766.png

Debug通常作为调试版本,不会做任何的优化.

Release称为发布版本,通常会做很多种优化,使得程序代码大小和运行上都最优.

 来举例说明一下比如说,相同的两个代码,都数组越界了,但是在Debug会警告,但是在Release上会自动优化,不会警告ce17451ade0841cfaaccf8c99135d745.png

4042a661223f488e90a604a25550505a.png 

这就是区别了.

然后, 最常使用的几个快捷键:
F5
启动调试,经常用来直接调到下一个断点处。
F9
创建断点和取消断点 断点的重要作用,可以在程序的任意位置设置断点。这样就可以使得程序在根要的位置随意停止执行,继而一步步执行下去。
F10
逐过程,通常用来处理一个过程,一个过程可以是一次西数调用,或者是一条语句。
F11
逐语句,就是每次都执行一 条语句,但是这个快捷建可以使我们的执行逻辑进入西数內部(这是最长用的)。
CTRL + F5
开始执行不调试

这里先重点将一下逐过程和逐语句的区别37c89e26ad844616bbe5b1d4ded36e49.png

逐过程就是只看过程,如果出现函数,他是不会进去的 e3d2be1a0f6e4018aa026c0f1713d511.png

逐语句就是可以进入函数内部7f69a413cfed496194939e971e38ddb3.png 

其实在调试的时候,窗口界面会跳出很多的东西4d32b419df7d4f949f0e56daaa02b785.png

这些东西都是可以帮助我们对代码进行调试的,调试,断点,监视
调试运行:即可以侦查每一行代码的执行状态,可以暂停分析,可以回退,可以单步走运行不调试:程序从头到尾执行完,只能看着平时调试程序
断点:在左侧灰色窗口边,点击出现红点,即断点,程序运行到这一行就暂停在这,等待
再点击红点,就取消断点。
停住时:黄色箭头指向的是还没执行的那行,前面的都执行完了查看前面的运行结果:
鼠标放变量上,可以看值,可以右键设置16进制或者 10进制变量拖进监视窗口(断点卡主时->调试->窗口->监视 1,2,3,4,),然后还有自动窗口和局部变量,他们和监视窗口的区别是一下子就可以出现上下的所有变量.但是不稳定,最后就是一下内存,寄存器,汇编的查看了4c9e6c2070df49678f9073222231ee0f.png

这个你以后需要就可以查看。 

然后开始进入正式的调试过程点F5进入调试环节,b0bfedc5d32c47fe9010dcc88e81de58.png 

然后这样就可以操作了 ,举个例子923b4e677c2b4de7945033cea4f3674a.png

为什么这个函数的值是15而不是12?这是一个阶乘相加的一个程序,我们可以用调试来检查直接先设置断点F9然后F5启动调试25058bbef0b547019172b42b9a11aba6.png 

这里我们用自动窗口9f00678106304331a415c6021ce8e1c5.png 

开始调试a542d0669d9b4ffcbe2717a435dabbe3.png 

调试一轮之后发现了问题facbd56ea5964516b41fbcc403de2cfd.png 

ret在第三伦开始时,赋给他的值不是从1开始的而是从2 ,所以找到问题,因该在第2个for循环结束时,讲ret赋一个1,在进去。9f7044ddd3064243835e7a03ad4ebc97.png

然后代码就正确了。

这只是最基础的调试,可以自己动手试一试 

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LaNzikinh篮子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值