程序的调试是一个很复杂的论题。一些人喜欢使用printf,一些人喜欢使用打日志,一些人喜欢使用调试器。
这其实是要看场合的。我的看法是,简单的程序除错就用printf就行了!
而打日志和使用调试器不是竞争关系,你可以既打日志也使用调试器!
目前看起来很多人不喜欢用调试器,而是打日志,
他们认为调试器手动一行一行运行太慢了,又或者是调试器使用太麻烦了。
在我看来其实调试器的功能是很强的!因为使用调试器可以打印几乎所有变量,甚至是打印寄存器,打印栈调用,甚至是查看对应的汇编代码!并且你可以在运行的时候直接打印变量,
而不是先运行一遍,然后发现想看看另一个变量,然后在写上另外一条Log语句,再编译运行。
如果你写的程序比较复杂,变量很多,那么调试器是很重要的!
这一点在我之前用c++写红黑树的时候,感受颇深。要么你的代码要么全都是Log了,
要么有很多变量你没办法跟踪!想想看你的树在旋转的时候要打印多少东西。
这其实是要看场合的。我的看法是,简单的程序除错就用printf就行了!
而打日志和使用调试器不是竞争关系,你可以既打日志也使用调试器!
目前看起来很多人不喜欢用调试器,而是打日志,
他们认为调试器手动一行一行运行太慢了,又或者是调试器使用太麻烦了。
在我看来其实调试器的功能是很强的!因为使用调试器可以打印几乎所有变量,甚至是打印寄存器,打印栈调用,甚至是查看对应的汇编代码!并且你可以在运行的时候直接打印变量,
而不是先运行一遍,然后发现想看看另一个变量,然后在写上另外一条Log语句,再编译运行。
如果你写的程序比较复杂,变量很多,那么调试器是很重要的!
这一点在我之前用c++写红黑树的时候,感受颇深。要么你的代码要么全都是Log了,
要么有很多变量你没办法跟踪!想想看你的树在旋转的时候要打印多少东西。





Dawn

