javascript - 通过代码打开 Chrome Inspector 来捕获快速断点?

标签 javascript debugging google-chrome

情况是这样的。弹出窗口包含我需要调试的 JavaScript。它还包含一个发生得如此之快的重定向,我无法足够快地打开检查器来触发断点。我首先打开检查器,然后单击一个链接,该链接将关闭检查器并打开包含 javascript 的弹出窗口。但逻辑发生了,并且重定向触发得如此之快,在 Chrome 已经关闭带有我需要调试的脚本的弹出窗口之前,我无法打开检查器。

我已阅读Google documentation设置断点效果很好,但断点仅在检查器打开时才会触发。

我尝试使用从SA answer找到的debugger;但再一次,它仅在 Inspector 打开时才会触发。

为了调试它,我还尝试设置一个“ sleep ”功能(它会消耗处理器,不好等),如下所示:

function sleep(milliSeconds){
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + milliSeconds); // hog cpu
}

sleep(5000);

这也不起作用。

有没有办法让检查器通过代码弹出?如果没有,调试这个的最佳方法是什么? 谢谢。

最佳答案

我一整天都在为这个问题苦苦挣扎,终于找到了解决方案。只需在代码中的调试器状态之前放置一个警报即可:

alert('Time to attach the debugger');
debugger;

当屏幕上出现警报时,只需点击 Chrome 检查器中的“检查”链接即可。检查器将附加到您的页面,然后您可以单击警报框中的“确定”继续。然后它将停止在调试器语句处

关于javascript - 通过代码打开 Chrome Inspector 来捕获快速断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21639869/

相关文章:

javascript - 处理 Chrome 应用程序窗口外部的点击

javascript - CordovaApp - AngularJs - app.initialize() -> undefined 不是函数

javascript - 如何在 Laravel 或其他框架中正确编写表单?

debugging - Clojure 调试

php - 如何调试 "FastCGI sent in stderr: Primary script unknown while reading response header from upstream"并找到实际的错误信息?

javascript - 如何在主屏幕上播放 Safari/Chrome 音频期间用名称替换文件链接?

javascript - react 路由器 goBack() 无法正常工作

javascript - 将 Prop 从一个组件传递到另一个组件时,对象作为 react 子组件(找到带有键的对象)无效

delphi - 是否可以在delphi 7调试器中查看调用堆栈?

javascript - 检测是否启用了 chrome 面板