【问题标题】:Set Breakpoint On Code Not Line在代码非行上设置断点
【发布时间】:2017-04-26 16:54:37
【问题描述】:

我想知道是否有办法在任何浏览器中的一段代码上设置断点,而不仅仅是在一行代码上。我正在尝试调试一些 JavaScript,并且在错误的行处断点非常烦人,因为我必须在断点上方添加或删除一行。所以我发现我经常不得不在代码编辑后移动断点。

【问题讨论】:

    标签: javascript google-chrome-devtools firebug microsoft-edge firefox-developer-tools


    【解决方案1】:

    debugger statement 是在 ECMAScript 5.1 中引入的。

    调试器语句调用任何可用的调试功能,例如设置断点。如果没有可用的调试功能,则此语句无效。

    console.log("Before breakpoint");
    debugger;
    console.log("After breakpoint");
    

    【讨论】:

    • 我知道这个声明,但它强制中断。不能有条件,也不能在代码运行时关闭。我希望有基于浏览器的东西。
    • @cjbarth “不能有条件”是什么意思 - 这是正常的 JS 代码,只需执行 if (variable == "whatever") debugger。您甚至可以将属性附加到window 以启用禁用调试,因此您的条件看起来像if (window.debugMode && condition) debugger
    • @vlaz 使用window.debugMode 是个好主意。我只是希望浏览器可以注意到我设置断点的代码的上下文并跟踪它。这样我就不必在调试完成后清理这些debugger 语句了。
    • @cjbarth 不幸的是,我还没有看到这个。 debugger 语句是我所知道的唯一允许您在代码中的特定位置而不是行号中断的东西。
    猜你喜欢
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多