【答疑释惑】菜鸟怎么调试简单程序?

首先公布昨天留的课后作业答案的宏定义函数的答案

#define f(a, b, x) a*x+b printf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));答案:5,25

最近发现好多小伙伴在群里问大段的程序代码问程序问题出在哪里?

小编针对这种情况专门整理一篇如何调试程序,其实这个问题很简单,

下面讲讲如何使用vc来调试程序,那个简单的例子做示范。

1.认识下调试重要的几个键:

  • F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点.
  • F5调试状态运行程序,程序执行到有断点的地方会停下来.
  • F10执行下一句话(不进入函数)step out
  • F11执行(进入函数)step in
  • CTRL+F10运行到光标所在行

F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面.

2.单步调试

打开你要调试的代码工程,首先使用F9或者鼠标点击设置想要调试的程序的断点,例如上图。

然后直接F5,程序就会直接运行直到断点处停止。使用快捷键F10进行单步执行调试,每一步可以从下方的窗口实时看变量的值。

如果当前运行到一个函数调用,你可以使用F11(step into)直接运行到函数里面进行调试.

3.使用调试工具栏和调试窗口

调试过程中,如果没有记住快捷键,可以充分利用调试工具栏。

如果想一次查看多个变量的值,可以使用底部的调试窗口,例如:watch窗口里面可以直接添加变量名字查看实时的值。Locals窗口可以查看当前函数中变量的值。

程序调试方法小结 上面仅介绍了程序调试的基本方法。对需要观察其运行过程的程序,可以这样做:

  • 增加必要的断点(当然,嫌疑解除后去除断点);
  • 如果必要,添加监视,以便于观察一些表达式的值;
  • 用Step Into、Step Over、Step Out或Run to Cursor等的组合,跟踪程序执行的过程
  • 在运行过程中,和自己对运行结果的预期结合起来,思考程序可能出现的问题。
  • 需要退出程序时,使用调试菜单中的“Stop Debugging”选项终止执行。这时再修改程序。
  • 如果程序执行异常,一定要告诉自己:程序中一定有bug,不是机器的错,我得找出bug来,Bug也一定会被你找出来。 欢迎小伙伴针对自己用的编译器写篇教程给小伙伴去使用 如果还觉得回答不够彻底就直接加群问小编或者在公众号直接留言

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-07-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

如何学python 第十五课 脚本结构与linux下的编辑与执行

第十五课 脚本结构与linux下的编辑与执行 今天我们不讲具体的python技巧。今天讲讲在linux下,从脚本创建到执行的过程。如果需要看win下的,可以留言...

32614
来自专栏前端杂谈

通过核心概念了解webpack工作机制

2968
来自专栏章鱼的慢慢技术路

Linux编程_Shell脚本练习题

1152
来自专栏Fundebug

Source Map入门教程

部署前端之前,开发者通常会对代码进行打包压缩,这样可以减少代码大小,从而有效提高访问速度。然而,压缩代码的报错信息是很难Debug的,因为它的行号和列号已经失真...

865
来自专栏zcqshine's blog

springboot 获取form-data里的 file 文件小结

4876
来自专栏Sorrower的专栏

界面无小事(三):用RecyclerView + Toolbar做个文件选择器

572
来自专栏开源优测

如何用Python调用java程序

如何用Python调用java程序 前言 不会java怎么做Java程序的单元测试呢?我想有一种很好的选择就是Python,充分利用Python的胶水语言的特性...

3635
来自专栏我和PYTHON有个约会

Django来敲门升级版--[扩展篇]--认证authenticate

Django默认提供了自己的身份认证系统,默认配置下提供有封装好的简单的用户类型以供开发人员直接使用

723
来自专栏小白课代表

文件搜索利器——Everything

1412
来自专栏LIN_ZONE

支持多文件上传,预览,拖拽,基于bootstrap的上传插件fileinput 的ajax异步上传(转载)

<link href="__PUBLIC__/CSS/bootstrap.css" rel="stylesheet">

663

扫描关注云+社区