【问题标题】:How to debug an XPCOM error from within Javascript如何从 Javascript 中调试 XPCOM 错误
【发布时间】:2014-02-06 14:37:05
【问题描述】:

在禁用和重新启用我的插件时,我收到以下错误(我有一个简单的 XPCOM 组件)——如何调试这样的东西?

调用 xpconnect 包装的 JSObject 产生了这个错误:* [异常...“'[JavaScript 错误:“无法访问死对象”{file: “资源://gre/modules/XPIProvider.jsm -> jar:file:///Users/me/code/testprof/extensions/ext@myext.org.xpi!/bootstrap.js -> 资源://gre/modules/commonjs/toolkit/loader.js -> 资源://gre/modules/commonjs/sdk/event/chrome.js" line: 36}]' 当 调用方法:[nsIObserver::observe]" nsresult:"0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)”位置:“JS框架:: 资源://gre/modules/XPIProvider.jsm -> jar:file:///Users/me/code/testprof/extensions/ext@myext.org.xpi!/bootstrap.js -> 资源://gre/modules/commonjs/toolkit/loader.js -> 资源://gre/modules/commonjs/sdk/addon/window.js :: :: 第 43 行”数据:是]

【问题讨论】:

    标签: firefox-addon xpcom


    【解决方案1】:

    无法访问死对象意味着,您已将全局变量设置为 = window.现在那个窗口已经不存在了。

    检查你的观察者,它可能持有一个引用某个窗口或文档对象的变量。

    您获得该消息的方式是调试的唯一方式,使用浏览器控制台 (Ctrl+Shift+J),但请确保您已设置开发人员首选项: https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_environment?redirectlocale=en-US&redirectslug=Setting_up_extension_development_environment#Development_preferences

    【讨论】:

    • 似乎没有任何全局参考(也没有明显的错误)。只是控制台中的错误消息。真的没有其他方法可以更系统地调试吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多