lka*_*htz 36 javascript debugging
当您处于无限循环或递归调用时,浏览器基本上会停止响应任何内容(在Chrome或FF上).你看不到日志,无法进入调试器,即使你无法打开控制台本身.浏览器只是冻结.这太烦人了.我似乎无能为力,只能坐在这里挠挠脑袋......任何人都可以解释如何解决这个问题?
Tig*_*ine 65
您可以尝试的另一个技巧是让Chrome中的Web开发人员工具打开,并在浏览器显然挂起时尝试点击暂停.然后它应该在它当前正在执行的行处中断.随着一些步骤,你应该到底.
假设您知道(或怀疑)infite循环发生的函数,您可以添加如下代码:
var calls = 0;
function iSuspectToBeLoopingInfititely() {
calls += 1;
if (calls > 100) { debugger; }
}
Run Code Online (Sandbox Code Playgroud)
一旦方法被调用100次,这将停止Chrome中的JavaScript调试器.注意:debugger;如果您确实打开了"开发者工具"窗口,则Chrome只会中断通话.
找到了另一种调试方式。在我的情况下,错误被捕获,因此没有错误记录到控制台。通过复选框找到了该错误Pause on caught exceptions。您可以在选项Sources卡的den dev工具中找到该选项。要显示并启用该复选框,请单击最后一个图标:
启用此功能后,调试器将在每个捕获的异常上暂停。
| 归档时间: |
|
| 查看次数: |
18899 次 |
| 最近记录: |