编程调试与流程控制全解析
调试工具:printf()与调试器的互补
在编程过程中,调试是必不可少的环节。很多人在掌握了强大的调试器之后,可能会认为再也不需要使用 printf() 语句来了解程序的运行情况了,但事实并非如此。虽然调试器几乎能满足所有的调试需求,但有时候简单的 printf() 语句反而更合适。
调试器的一个缺点是,当你暂停程序进行详细检查时,程序会停止运行。例如,在开发一款拯救僵尸免受邪恶粉红独角兽攻击的游戏时,如果在使用阿帕奇攻击直升机营救僵尸的过程中出现问题,你可以在代码中设置断点。然而,如果游戏在你开始操作时突然停止,那么重现问题可能会变得非常困难,甚至无法实现。这时,使用 printf() (或其他类似的日志记录函数),可以将僵尸和直升机的状态输出到控制台,而程序仍会继续运行。你可以多次尝试营救僵尸,然后再停下来检查控制台日志。
调试器:冰山一角
调试器就像一座冰山,我们通常看到的只是它的一小部分。以Xcode调试器为例,它是一个非常复杂的工具,拥有数百个功能、命令和特性。此外,Xcode还包含一套名为Instruments的编程分析工具。总体而言,几乎没有它们无法追踪的编程问题。所以,不要因为一天、一周甚至几年内没有掌握调试器的所有功能而感到沮丧,实际上,在整个编程生涯中,你可能都在不断学习调试技巧。
调试练习
下面通过一个具体的练习来加深对调试的理解。打开Hello3项目,在 main() 函数中第二次调用 SayHello() 函数之前
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



