如何在JavaScript中调试客户端错误?

时间:2013-05-08 15:45:19

标签: javascript source-maps

我有一个window.onerror处理程序,它将JavaScript错误发送到我们的服务器。我希望通过使用源地图将缩小的源中的错误链接回原始代码来分析这些,但似乎Chrome和Firefox仅在出错时提供行号。据我所知,没有列号,源映射就无用了。

那么,给定一个缩小的源行号和一个x is undefined形式的错误消息,我可以采取哪些步骤进行调试?

(如果它有任何区别,我在Rails 3.2中使用资产管道。)

3 个答案:

答案 0 :(得分:1)

Chrome(和IE10)现在会将列号作为window.onerror回调中的第四个参数。 Here's the Firefox bug for adding column numbers,但它看起来并不太有希望。

答案 1 :(得分:0)

如果您想使用源地图,则需要下载Chrome Canary(即Chrome的预发布版开发版)。

这是一项实验性功能,尚未在Chrome主要版本中发布。 (即使在Canary中,也必须在浏览器选项中明确启用。)

答案 2 :(得分:0)

我建议在firefox上使用firebug,这是一个让你入门的教程:

http://thecodecentral.com/2007/08/01/debug-javascript-with-firebug

我已经用了几次来调试非常糟糕的JS,但我通常只是这样做:

Firefox下拉列表> Web开发人员> Web控制台。这将显示行#和被抛出的错误(最重要的),我发现这通常是足够的,无需经过调试工作。