2011-04-15 86 views
1

我正在为客户端调试FF扩展(3500行)。我有一个分开的开发简介,只需萤火虫 & & 扩展开发人员扩展工作。用于Firefox扩展开发的调试工具

1.-在过去的两年里,我开发了一些FF的扩展。我记得我用Firebug的console.debug/trace进行调试。现在,用Firebug 1.6.2控制台是没有定义。任何建议来解决这个问题?
2:昨天晚上我装console2,可以帮助很好用如自定义功能(正常错误控制台升级):

function debug(aMsg) {
setTimeout(function() { throw new Error("[debug] " + aMsg); }, 0);
}

但Firebug.console.debug优越。请告知关于调试FF扩展的替代技术。

回答

4

最近发布的Firebug包含一个优秀的日志/跟踪组件,用于调试扩展时使用类似下面的代码。

// When initialising extension 
var myLogger = {} 
try { 
    Components.utils["import"]("resource://firebug/firebug-trace-service.js"); 
    myLogger = traceConsoleService.getTracer("extensions.myextension"); 
} catch (e) { 
    // firebug not installed 
} 

// later on 
if (myLogger.DBG_MINE) { 
    myLogger.sysout("my message", obj); // intelligently handles obj exceptions too 
} 

要启用此日志记录,创建使用about:config偏好为extensions.myextension.DBG_MINE设置为true。您可以在http://www.softwareishard.com/blog/firebug/tracing-console-for-firebug/找到更多信息,尽管略有过时。

要进行更高级的调试,需要检查Chromebug,它可以让您检查XUL接口并调试扩展代码,而Venkmann只是一个调试器,但我发现它比等待Chromebug启动要快得多向上。

+0

谢谢...我有这个错误:_Error:权限拒绝来获取属性XPCComponents.utils_除了我也在学习Venckman ... – 2011-04-16 00:32:22

+0

这听起来像你试图运行它作为无特权的代码。 Components.utils.import只有在运行特权时才可用,作为扩展的一部分。你如何加载/运行你的代码? – 2011-04-16 08:17:53

+0

谢谢。无论如何这是一个很棒的tipo! – 2011-11-09 20:35:18