如何调试代码最有效
回复内容:
php用xdebug,js用console,大家怎么调试的?
我是这样的:
php 方便输出就直接 echo、print_r、var_dump
不方便输出就:
ob_start();
print_r($var); // or echo, var_dump()
file_put_contents('log_file', ob_get_clean());
js 一个 console.log 就够用了
我一般会在所有 js 代码前,定义一个函数:
function c(){
console.log.apply(console, arguments);
return arguments[0];
}
然后就可以用 c(v) 代替 console.log(v) 了
Brian W. Kernighan, in the paper Unix for Beginners (1979):¹
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
我是来打酱油的=w=
最简单的调试手段就是输出一些临时变量,或者在特定的路径上放置输出,以了解这个路径被执行了多少次。
至于调试器的断点什么的,就更方便了。
我认为调试的核心是「二分」,即通过反复查找「符合预期」的代码和「不符合预期」的代码来缩小 Bug 所在的区间。
写了这么久的PHP还没用过xdebug什么的肿么破←_←其实来回答这个问题就是特别想说这句的...
如果碰上出错我一般也跟上面这些童鞋一样,先看报错信息在那一行,检查有无语法错误,然后再在附近逐句输出(print_r(), var_dump())相关变量,看下到底哪句有问题,再思考一下为啥有问题,基本上问题都能解决了。
至于JavaScript的话我一般alert()
和console.log()一块混着用~
PHP 没有特殊情况就直接echo 或者print_r出来了,再差点就直接file_put_content到一个文件内。
JS 习惯alert()看结果...
强烈推荐php调试神器:kint