JavaScript:有没有办法让Chrome破解所有错误?

ave*_*net 251 javascript debugging webkit google-chrome

我正在寻找Chrome中与Firebug"破解所有错误"功能相当的功能.在"脚本"选项卡中,Chrome有一个"暂停所有异常",但这与打破所有错误并不完全相同.

例如,在使用以下代码加载页面时,我希望Chrome能够突破foo.bar = 42.相反,即使启用"暂停所有异常",我也无法获得预期的结果.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <script type="text/javascript">

            function doError() {
                foo.bar = 42;
            }

            window.onload = function() {
                try {
                    doError();
                } catch (e) {
                    console.log("Error", e);
                }
            }
        </script>
    </head>
    <body>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

您可以尝试在此页面上粘贴的代码或使用此jsFiddle.

Max*_*nce 280

我很难得到它所以我张贴了显示不同选项的图片:

Chrome 71.0.3578.98 [2018年12月18日]

至少非常相似的用户界面至少Chrome 38.0.2125.111 [2014年12月11日]

在标签中Sources: 在此输入图像描述 Pause On Caught Exceptions

激活按钮后,您可以Sources使用下面的复选框: 在此输入图像描述


之前的版本

Chrome 32.0.1700.102 [2014年2月3日]

在此输入图像描述

在此输入图像描述 在此输入图像描述 在此输入图像描述

Chrome 27.0.1453.93稳定

调试选项

  • 我必须赞扬Facebook直接在他们的文档中链接到这个.+1 (19认同)

Bri*_*air 206

修改:我回复的原始链接现在无效.截至2016-11-11,较新的网址为https://developers.google.com/web/tools/chrome-devtools/javascript/add-breakpoints#exceptions.

我意识到这个问题有一个答案,但它不再准确.使用上面的链接^


(链接替换为上面编辑过的) - 您现在可以将其设置为中断所有异常或仅处理未处理的异常.(请注意,您需要位于" 源"选项卡中才能看到该按钮.)

Chrome还添加了一些其他非常有用的断点功能,例如打破DOM更改或网络事件.

通常情况下,我不会重新回答一个问题,但我自己也有同样的问题,而且我发现这个错误的答案,所以我想我会把这些信息放在这里供以后搜索的人使用.:)

  • 安德烈,我正在看Chrome金雀花,我仍然看到那里的按钮.这是左起第四个按钮,如http://d.pr/i/DHwT所示 - 单击一次,进入所有异常暂停,第二次单击将使其暂停未捕获的异常.第三次单击返回默认值"不暂停". (2认同)

Bra*_*rks 17

Chrome现在通过"暂停所有例外"按钮支持此功能.

要启用它:

  • 转到Chrome开发者工具中的"来源"标签
  • 单击窗口底部的"暂停"按钮切换到"在所有例外模式下暂停".

请注意,此按钮具有多个状态.继续单击按钮切换

  • "暂停所有例外" - 按钮呈浅蓝色
  • "暂停未捕获的异常",按钮呈紫色.
  • "不要暂停异常" - 按钮显示为灰色