我想在Chrome或Safari JavaScript调试器的“Cart.add”功能中设置断点。问题是,这个函数是在一个大的缩小的JS文件中定义的,并且它本身不存在于一行上。
有些文档说基于WebKit的调试器在调试控制台中支持“break”或“debug”命令,但这些命令似乎不适用于较新版本的调试器。
在JS文件的行上设置断点也不起作用,因为该行上有很多函数。
有什么建议吗?
答案 0 :(得分:155)
在Chrome中打开Scripts
标签时,您可以点击底部的{ }
按钮(“漂亮打印”)来美化所选文件。之后,您可以找到您的线并设置断点。在页面刷新后,代码将保留用断点进行美化。
答案 1 :(得分:5)
debugger
statement可能就是你要找的东西。
评估 DebuggerStatement 生成可能允许实现在调试器下运行时导致断点。如果调试器不存在或处于活动状态,则此语句没有可观察到的影响。
生产 DebuggerStatement :
debugger ;
的评估如下:
如果实现定义的调试工具可用并启用,则
一个。执行实现定义的调试操作。
湾让结果为实现定义的完成值。
否则
一个。让结果为(正常,空,空)。
- 醇>
返回结果。
break
语句用于退出循环和switch
语句,与调试无关。
真正的解决方案是首先不要错误地编写代码:)
答案 2 :(得分:1)
1)错误消息应为您提供指向以下代码的源代码的链接: 来源标签。单击该链接以获取转译的代码。
2)单击源代码底部的“ {}”图标。 Sources选项卡可格式化转译的代码,以便于调试。
3)在出现故障的行上粘贴断点。
4)复制 再次出现问题。这一次,它应该在之前的断点处中断 错误发生。
5)检查局部变量并调用堆栈以 确定到底出了什么问题。
答案 3 :(得分:0)
答案 4 :(得分:-1)
如果您保存了网页,则使用jsbeautifier.org美化您的js文件,格式化整个脚本。然后用美化版本替换你的js内容。从这里你可以轻松调试你的JS