如何在Chrome或Safari中的缩小JS功能上设置断点?

时间:2011-09-09 18:46:43

标签: javascript debugging google-chrome safari webkit

我想在Chrome或Safari JavaScript调试器的“Cart.add”功能中设置断点。问题是,这个函数是在一个大的缩小的JS文件中定义的,并且它本身不存在于一行上。

有些文档说基于WebKit的调试器在调试控制台中支持“break”或“debug”命令,但这些命令似乎不适用于较新版本的调试器。

在JS文件的上设置断点也不起作用,因为该行上有很多函数。

有什么建议吗?

5 个答案:

答案 0 :(得分:155)

在Chrome中打开Scripts标签时,您可以点击底部的{ }按钮(“漂亮打印”)来美化所选文件。之后,您可以找到您的线并设置断点。在页面刷新后,代码将保留用断点进行美化。

答案 1 :(得分:5)

debugger statement可能就是你要找的东西。

  

评估 DebuggerStatement 生成可能允许实现在调试器下运行时导致断点。如果调试器不存在或处于活动状态,则此语句没有可观察到的影响。

     

生产 DebuggerStatement debugger ;的评估如下:

     
      
  1. 如果实现定义的调试工具可用并启用,则

         

    一个。执行实现定义的调试操作。

         

    湾让结果为实现定义的完成值。

  2.   
  3. 否则

         

    一个。让结果为(正常,空,空)。

  4.   
  5. 返回结果。

  6.   

break语句用于退出循环和switch语句,与调试无关。

真正的解决方案是首先不要错误地编写代码:)

答案 2 :(得分:1)

1)错误消息应为您提供指向以下代码的源代码的链接: 来源标签。单击该链接以获取转译的代码。

2)单击源代码底部的“ {}”图标。 Sources选项卡可格式化转译的代码,以便于调试。

3)在出现故障的行上粘贴断点。

4)复制 再次出现问题。这一次,它应该在之前的断点处中断 错误发生。

5)检查局部变量并调用堆栈以 确定到底出了什么问题。

答案 3 :(得分:0)

对于Chrome用户,您需要在实验功能中启用自动漂亮打印。

enabling automatic pretty print

设置断点现在应该可以工作。

答案 4 :(得分:-1)

如果您保存了网页,则使用jsbeautifier.org美化您的js文件,格式化整个脚本。然后用美化版本替换你的js内容。从这里你可以轻松调试你的JS