控制台不记录内容脚本中的 js 错误

Son*_*y D 8 javascript debugging firefox-addon

我知道使用普通的 Web 开发人员工具(https://developer.mozilla.org/en/docs/Mozilla/Add-ons/WebExtensions/Debugging#Debugging_content_scripts)调试内容脚本,这很完美。debugger关键字按预期工作。

但在这种确切的情况下,事情会被打破:

addon.id = "123-568-485"; // I never define `addon` before this line, so this cause: ReferenceError: "addon is not defined". We aren't aware of this mistake.

// Some more code
// Some more code
// Some more code
// Some more code

debugger; // Here we want to stop execution and inspect, some other stuff. Remember that we aren't aware of earlier mistake.
Run Code Online (Sandbox Code Playgroud)

我们所期望的是,在控制台中Reference error会出现关于错误,但它不会。控制台沉默,我们不知道为什么我们的debugger关键字不起作用。

这种无声错误,发生在我拼错变量名时。结果想不通是怎么回事。

Nic*_*lay 3

由于 Firefox bug 1410932尚未修复(截至 2020 年 7 月 28 日发布的 Firefox 79),内容脚本中的错误不会在选项卡的 Web 控制台中报告。

我在另一个答案中列出了可能的解决方法:

  • 使用 try..catch 进行日志记录,
  • 检查浏览器控制台(它确实显示内容脚本中的错误)
  • 使用调试器的“异常暂停”选项。