C编程调试之利用好primtf

来源:互联网 发布:康丽鲨牌灵软胶囊知乎 编辑:程序博客网 时间:2024/04/29 08:58

看代码容易,写代码难.几乎所有的代码都不是一次就能成功的.所以,调试是非常重要的一个环节... 调试是一个十分重要的技巧...现在就说说怎么利用常见的函数printf去调试代码吧


1、最常见的一种情况,就是在函数判断下面弄出个printf. 比如:

if(-1 == accept () ) printf(“accept error ”); 这样就可以简单的知道accept是否出错了... 当然,如果你想知道它出错的原因,还可以这样: printf("accept error : %s", strerror(errno)); 这是

一种很好的方法,这样就能把函数错处的原因告诉你了.. 不仅知道哪儿出错,还知道为什么出错..还有就是perror函数啦~ 这里就不说了


2、在重要的地方printf

哪些地方重要? 我该在哪些地方printf  ? 都要printf些什么.. 很简单, 一般都会在一些你想知道的变量的下一句弄个printf 把你想知道的这个变量是否和你想要的值一样..如果和你想要的不一样,那错误很可能就在printf语句的上面了;


3、断点式的printf

如果你的不懂用VC6.0的断点调试或者是不懂用VIM下的gdb调试的话, 那就一定要好好的利用printf 进行断点式的打印信息了.. 这时你打印的信息可以是一个变量的信息,还可以是一段自己想象的语句.. 这样做的目的就是为了知道代码是否运行到你的这个printf这里 因为有很大时候你都不知道代码到底死在哪里.. 这是一件非常痛苦的事情.. 怎么死在哪里都不知道,够悲剧的吧.所以,printf能帮助我们知道代码到底死在哪啦...


知道这几个功能大致就能帮你找到代码是在哪个地方错误啦... printf是个很好的调试方法... 如果在一条你已经知道的错误语句中,你不知道是哪个东西错了, 这时候你就可以一点一点的把它打印出来,直到调到尾,这样就很容易知道了.. 有时候你不知道怎么去解决一件事情,很多情况下是因为你不知道它哪儿出错,如果你知道它哪儿出错了,那事情就好办多了,百度和google就会帮我们找到答案了.. 

特别是调uboot的时候~ 那是非常有用的.. 本人有着深深的体会...