【问题标题】:Debugging a Thunderbird extension调试 Thunderbird 扩展
【发布时间】:2016-02-22 19:13:40
【问题描述】:

我正在开发一个 Thunderbird 扩展程序,但很遗憾,我无法区分哪些仍然有效,哪些无效。网上有很多东西,但大部分都不再适用于最近的 Thunderbird。

  1. 至少,我需要一种从扩展程序中查看日志消息的方法,这样我就可以看到哪些工作正常,哪些不工作。理想情况下,我想要一个完整的调试控制台。 Stackoverflow 上有对 Thunderbird 开发者工具的参考,但似乎没有办法下载它们。

  2. 我还希望能够执行可以通过控制台引用我的扩展的 Javascript。当我通过 Thunderbird 的控制台尝试此操作时,我收到错误消息。即使使用其他人的扩展程序我也会得到这个,所以我必须假设扩展程序超出了控制台的范围

如何获得新的 Thunderbird 扩展程序的可见性和交互性?

【问题讨论】:

  • 好问题,同样的问题

标签: thunderbird thunderbird-addon


【解决方案1】:

2020 年更新:

如果您正在编写 MailExtension(这就是 Thunderbird 调用 WebExtension 的方式),您应该查看 WebExtensions 中的常规调试,例如https://extensionworkshop.com/documentation/develop/debugging/

您可能还应该在 https://developer.thunderbird.net/add-ons/about-add-ons 上查看有关 MailExtension 的一般开发人员文档

下面列出的想法是为 Legacy Overlay Extension 编写的,在较新的 Thunderbird 版本中不起作用。


记录消息

https://developer.mozilla.org/en-US/docs/Debugging_JavaScript 中所述,Gecko 中存在 3 个不同的控制台。在 Thunderbird 中最容易访问的是Error Console。您可以通过nsIConsoleService 给它写消息。如果您不介意日志消息显示为错误,您也可以简单地使用Components.utils.reportError()

另一种方法是登录到启动 Thunderbird 的(本机)控制台。这是通过dump() 完成的。

记录消息的最新方法是使用Log.jsm 模块。它是围绕不同日志记录方法的一个非常好的包装器,也是我在 Thunderbird 中记录消息的首选方式。

Thunderbird 开发者工具

由于您没有链接到参考,我不能 100% 确定,但我认为您的意思是 remotely debug Thunderbird through Firefox 的可能性。你不需要下载任何东西来使用它,它已经集成在 Thunderbird 中。

执行可以引用我的扩展的 Javascript

通过 Firefox 远程调试 Thunderbird 还可以访问控制台和开发者工具中的Scratchpad。两者都应该可以访问该插件。

您可能还想查看Tiny JavaScript Debugger。它还允许在调试时执行任意代码。

【讨论】:

  • 我希望有一种方法可以实时编辑插件的 javascript,直到我做对了……或者至少将 javascript(通过暂存器或 Tiny Debugger)注入到插件的脚本上下文中。
  • 请注意 2018 (Chrome 60):Tools -> Developer Tools -> Developer Toolbox 将为您提供调试器,无需远程附加 Firefox。
  • @bluemorpho,Chrome 60 还是 Thunderbird 60?。
  • 雷鸟 60,@Jaime。很抱歉造成混乱。
  • 但是如何调试 CONTENT 脚本/html?对于背景,您只需对插件进行“检查”,但是如何在内容脚本中设置断点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 2012-04-03
  • 1970-01-01
  • 2012-06-14
  • 2012-01-24
  • 1970-01-01
相关资源
最近更新 更多