【问题标题】:Open the Chrome Inspector via code to catch quick breakpoints?通过代码打开 Chrome Inspector 以捕获快速断点?
【发布时间】:2014-03-05 13:55:40
【问题描述】:

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

我已阅读 Google documentation 并设置断点效果很好,但只有在 Inspector 打开时才会触发断点。

我尝试使用从SA answer 中找到的debugger;,但再一次,它只有在 Inspector 处于打开状态时才会触发。

只是为了调试它,我还尝试设置一个“睡眠”功能(它会破坏处理器,坏等),如下所示:

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

sleep(5000);

那也没用。

有没有办法让 Inspector 通过代码弹出?如果没有,调试此问题的最佳方法是什么? 谢谢。

【问题讨论】:

  • sleep 方法是让浏览器彻底崩溃的好方法
  • 我知道。我正在尝试任何我能想到的东西。如前所述,它不起作用。 :)
  • 也许,您应该将所有代码放在打开的窗口中的 setTimeout 内,让它等待...
  • 您是否可以选择使用 Firefox+Firebug?
  • 我们在 Chrome 中完成大部分工作,因为我们的客户使用它,但我可以用它来测试。我会调查的。谢谢 Vitaliy。

标签: javascript debugging google-chrome


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-01-08
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2013-12-21
    • 2023-03-10
    相关资源
    最近更新 更多