调试 Thunderbird 扩展

SRo*_*mes 7 thunderbird thunderbird-addon

我正在开发一个 Thunderbird 扩展程序,不幸的是,我无法从哪些内容中区分出哪些仍然有效。网上有很多东西,但是,其中大部分不再适用于最近的 Thunderbird。

  1. 至少,我需要一种从扩展中查看日志消息的方法,以便我可以看到哪些有效,哪些无效。理想情况下,我想要一个完整的调试控制台。Stackoverflow 上有对 Thunderbird Developer Tools 的参考,但似乎没有下载它们的方法。

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

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

use*_*011 5

2020 年更新:

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

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

下面列出的想法是为旧版覆盖扩展编写的,在较新的 Thunderbird 版本中不起作用。


记录消息

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

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

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

雷鸟开发者工具

由于您还没有链接到参考资料,我不能 100% 确定,但我认为您的意思是通过 Firefox 远程调试 Thunderbird的可能性。您无需下载任何内容即可使用它,它已经集成在 Thunderbird 中。

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

通过 Firefox 远程调试 Thunderbird 还可以访问开发人员工具中的控制台和Scratchpad 。两者都应该有权访问该附加组件。

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