Heim  >  Artikel  >  Backend-Entwicklung  >  如何调试代码最有效

如何调试代码最有效

WBOY
WBOYOriginal
2016-06-06 20:48:181161Durchsuche

php用xdebug,js用console,大家怎么调试的?

回复内容:

php用xdebug,js用console,大家怎么调试的?

我是这样的:

php 方便输出就直接 echo、print_r、var_dump
不方便输出就:

<code>ob_start();
print_r($var);  // or echo, var_dump()
file_put_contents('log_file', ob_get_clean());
</code>

js 一个 console.log 就够用了
我一般会在所有 js 代码前,定义一个函数:

<code>function c(){
  console.log.apply(console, arguments);
  return arguments[0];
}
</code>

然后就可以用 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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn