当您处于无限循环或递归调用中时,基本上浏览器会停止响应任何内容(无论是在 Chrome 还是 FF 上)。您看不到日志,无法进入调试器,甚至无法打开控制台本身。浏览器只是简单地卡住。这太烦人了。看来我只能坐在这里挠头......任何人都可以阐明如何解决这个问题?
最佳答案
您可以尝试的另一个技巧是打开 Chrome 中的 Web 开发人员工具,并在浏览器明显挂起时尝试点击暂停。然后它应该在当前执行的行处中断。随着一些人的走出去,你应该会弄清楚这一点。
假设您知道(或怀疑)发生无限循环的函数,您可以添加如下代码:
var calls = 0;
function iSuspectToBeLoopingInfititely() {
calls += 1;
if (calls > 100) { debugger; }
}
一旦该方法被调用 100 次,这将停止 Chrome 中的 JavaScript 调试器。
注意:Chrome 只会在 debugger;
调用时中断,前提是您确实打开了开发者工具窗口。
关于javascript - 当javascript进入无限循环和递归调用时如何调试javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12815892/