• 欢迎访问C语言网www.dotcpp.com 比赛栏每月有奖月赛!举办比赛联系QQ:2045302297
  • 问题反馈、粉丝交流 QQ群327452739 蓝桥杯训练群:113766799 申请群时请备注排名里的昵称
  • C语言研究中心 为您提供有图、有料、解渴的C语言专题! 欢迎讨论!

VC6断点调试技巧<第一篇>

C语言研究中心 CTO 50651次浏览 12个评论

前言:

看到不少同学在学习过程中总会碰到各种与自己期望不符的结果而不知所措,如运行结果不对,程序运行崩溃、输出乱码等这种语法正确编译能通过而逻辑不正确的情况,发生这类问题大多都是因为我们无法掌控编译器和预测程序运行过程导致的,使得程序在执行过程中已经发生问题而没有被我们发觉。而最好的解决办法就是断点调试!

本文将带领大家以VC6编译器为例,学习如何断点分析和调试我们的C程序,让大家具备基本的断点调试能力!

 

以下正文:

当程序运行起的瞬间,程序就会马上退出,感应快的你可能会看到一个一闪而过的黑窗口以及似乎有点内容的输出。这就是一个程序的从生到死的过程,快如闪电丫。

那么,我们如何让程序不一次性执行完,定格在莫一处呢? 特别是对于查找问题,调试bug。如果当你意识到这些问题时,断点调试这个技巧你就应该马上掌握了!

 

先写一个简答例子代码,带循环的,如下

VC6断点调试技巧<第一篇>

断点第一步:设置断点(什么是断点?就是程序停止、断开的一个位置),将鼠标放到你想要程序停止的位置点击一下,然后按F9键,如下图

VC6断点调试技巧<第一篇>

会看到一个深红色的大圆点!这个就是“断点”了,这个时候,当在调试情况下运行这个程序的时候,程序执行时就会停在这里。怎么样?不信,那就试试,按F5键

VC6断点调试技巧<第一篇>

怎么样,看到了吗?程序现在没结束,甚至一句话都没输出呢!(应该输出100行www.dotcpp.com

而原来大红色的圆点上还多了一个黄色的箭头!什么意思呢?这个黄色的箭头就是表示程序将要执行的语句!

也就是说接下来要执行这个printf,但还没有执行!所以屏幕上一句输出也没有!

接下来,继续按F5向下执行,直到遇到下一个断点,此时屏幕上会输出一行www.dotcpp.com,如图

VC6断点调试技巧<第一篇>

同时请注意,下方i的值已经变成了1!,这说明循环已经执行了一次!

大家可以继续按F5继续执行,继续观察变化!

如果希望结束断点的话,可以在断点所在行,继续点击一下鼠标左键即可取消断点,再按F5即可和正常一样执行完程序。

怎么样,会了吗?

 

当然还没结束,除了设置断点F5继续执行以外,还可以单步执行,快捷键F10,怎么用呢?

还是这个程序,第一次F5以后,也可以按F10单步执行一句,发现黄色箭头往下走一行,同时屏幕多输出一句话。效果如图:

VC6断点调试技巧<第一篇>

大家可以自行尝试,可以F10一直逐行单步执行。同时注意观察下方变量的变化情况,来加深对程序执行过程的理解!

 

请同学们熟练掌握F5、F9、F10快捷键的使用方法,配合程序,观察变量、函数返回值等信息的变化情况,加深对程序的理解!

以上

 

C语言研究中心(www.dotcpp.com)

C语言网提供「C语言、C++、算法竞赛」在线课程,全部由资深研发工程师或ACM金牌大佬亲授课,更科学、全面的课程体系,以在线视频+在线评测的学习模式学习,学练同步,拒绝理论派,真正学会编程!还有奖学金等增值福利等你!

C语言网, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明VC6断点调试技巧<第一篇>
喜欢 (350)
[jinyangH@aliyun.com]
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
(12)个小伙伴在吐槽
  1. 每当我按f10的时候就会出现“Administrator privileges required for OLE Remote Procedure Call debugging this feature will not work.” 不知道这个问题可以得到解决吗?谢谢各位的帮助。
    meijiao2019-10-31 14:06 回复
    • 问题已经解决,用管理员身份运行即可。
      meijiao2019-10-31 15:49 回复
      • 哥们,怎么用管理员身份啊
        猪头少年2020-10-22 19:48 回复
  2. 为什么没法运行程序,代码是对的,难道是因为我的字体颜色不对吗?。。。。代码复制了不能评论
    。。。2020-04-12 07:56 回复
    • 字体顔色是自动的,是不是创建文件的时候出错了,我一开始也是这样
      池塘之底2021-06-05 00:39 回复
  3. 组建方框里第一行是 --------------------Confuguration:Text1-Win32 Dehug--------------------
    。。。2020-04-12 08:11 回复
  4. 老师可以加我QQ嘛?1071496540
    。。。2020-04-13 11:08 回复
  5. CV6运行程序时Myprojects\etc\debug\etc.exe文件没有找到 是什么意思
    李斯特2020-08-05 08:49 回复
  6. 为什么我摁F5无法执行下一步呢?无论摁F5还是摁F10都无法执行下一步。
    萘锶2021-03-31 20:53 回复
  7. 我怎么取消不了断点呢,有谁能指点一下?“如果希望结束断点的话,可以在断点所在行,继续点击一下鼠标左键即可取消断点,再按F5即可和正常一样执行完程序。”
    池塘之底2021-06-05 00:37 回复
  8. 为什么每个项目都要把嵌入清单关掉才可以编译运行
    喵喵2021-06-12 22:03 回复
  9. 手机练怎么调用F5
    绝对新手2022-02-25 10:07 回复