如何调试JavaScript代码?

115

当我发现有一个有问题的代码片段时,我应该如何进行调试?

20个回答

3
我使用了几个工具:Fiddler,Firebug和Visual Studio。我听说Internet Explorer 8内置的调试器非常好用。

你所说的“Fiddler”,是指 Fiddler Web Debugger 吗? - Thomas L Holaday

3

我曾经使用Firebug,直到Internet Explorer 8发布。虽然我不是Internet Explorer的忠实粉丝,但在使用内置的开发者工具(包括非常好用的调试器)一段时间后,似乎没有使用其他工具的必要了。我不得不向微软致敬,他们在这个工具上做得非常出色。


2
对于基本的调试,IE8调试器已经满足了我大部分的需求。然而,如果你进行任何性能测试,你很快会发现IE的不足。最近我有一个项目使用了一些复杂的javascript,我们真的需要为低端系统减少代码量,因为我们遇到了可怕的“无响应脚本错误”。在这种情况下,Firebug非常有用,因为我能够运行console.profile()方法来找出我的时间都花在哪里了。 - Gavin
1
IE8调试器也有一个配置文件功能(虽然不像FireBug那样图形化),它提供了调用树、调用计数和每个方法所花费的时间。我发现这足以隔离哪些JS代码需要太长时间。 - James

3

你也可以查看YUI日志记录器。你只需要在你的HTML中添加一些标签就可以使用它了。它是Firebug的有用补充,而Firebug基本上是必须的。


jQuery没有类似的功能吗? - shapr

2

2
我发现新版本的Internet Explorer 8(按F12)非常适合调试JavaScript代码。
当然,如果你使用Firefox,Firebug也是很好的。

2

除了使用Visual Studio的JavaScript调试器外,我还编写了自己的简单面板,将其包含在页面中。它就像Visual Studio的立即窗口那样简单。我可以更改我的变量值,调用我的函数并查看变量值。它只是评估文本字段中编写的代码。


2
我正在使用Venkman,这是一款用于XUL应用程序的JavaScript调试器。

2
如果您正在使用 Visual Studio,只需在您想调试的代码上面加上debugger;。执行时,控制权将在该位置暂停,您可以从那里逐步进行调试。

1

和大多数答案一样,这取决于你想通过调试实现什么目标?是基本开发还是解决性能问题?对于基本开发,之前的所有答案都已经足够了。

对于性能测试,我推荐使用Firebug。能够分析哪些方法在时间上最昂贵对于我所参与的许多项目来说非常宝贵。随着客户端库变得越来越强大,并且在客户端总体上承担更多责任,这种调试和分析只会变得更加有用。

Firebug控制台API: http://getfirebug.com/console.html


0

通过按下 F12,Web 开发人员可以在不离开浏览器的情况下快速调试 JavaScript 代码。它已经内置在每个 Windows 安装中。

Internet Explorer 11 中,F12 工具 提供了调试工具,如断点、监视和本地变量查看以及用于消息和立即代码执行的控制台。


请查看此链接:http://www.w3schools.com/js/js_debugging.asp,同样。 - Reza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接