C语言的debugging

本文介绍了C语言编程中的debugging过程,包括如何检测和修复语法错误以及查找语义错误。通过理解程序状态和使用不同的追踪方法,如自我执行、插入printf语句和使用调试器,可以帮助开发者有效地定位和解决代码问题。
摘要由CSDN通过智能技术生成

什么是debugging

找出并修复C语言代码中的错误叫debugging。

语法错误

所谓的语法错误就是没有遵守C语言的规则写代码。

怎么检测语法错误

  1. 通读代码,去发现明显的语法错误。
  2. 通过编译器编译去发现语法错误,识别每个错误的性质和位置。
    然而,编译器可能会搞错。尝试只修复第一二个错误重新编译,其它错误可能会消失。或者在报错行的前面一行找错误。

语义错误

所谓语义错误就是代码含义错了。
语义错误是编译器找不出来的,只能靠你自己去发现。

怎么找语义错误

把你自己当成计算机,按照程序的执行顺序一步步推演代码。对比预期的结果和推演的结果,发现错误。

程序的状态

程序的状态仅仅是在程序执行中在一个给定的点上所有变量的值的集合。

怎么追踪程序的状态

方法一

你自己一步步执行程序。如果迭代很多,你只要做一点点迭代去看你的程序是否符合预期。然而你总是可能会按照你想要的方式去执行代码而不是按照你实际写的代码一样去执行代码,因此要忠于你的实际的代码。

方法二

在程序里插入一些printf()语句去监控程序中关键点的被选择的变量的值。看看这些值是怎么随着代码的执行而去变化的。在你让程序调试到你的预期之后,你可以移除这些插入的语句并且重新编译。

方法三

使用一个调试器。调试器是一种能让你一步步运行另一个程序并检查那个程序中的变量的值的程序。高级的调试器能显示源代码中哪行正在执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值