我正在创建一个通过js-ctypes机制调用Linux共享库的Firefox扩展。我希望我的扩展通过调用共享库中的函数在标准终端上显示调试信息,然后调用printf()在终端上显示调试字符串。可以打开一个linux共享库,显示和printf到终端?
但是,我的应用程序没有终端。那么,我的共享库可以打开,显示和printf()来显示这些消息吗?
是的,我知道内置的错误和浏览器窗口。但出于难以理解的原因,我想在终端窗口中发送我的调试消息。
那么,我的共享库如何打开并显示终端到printf()?
在我的扩展的顶部,javascript程序是这行:var econsole = Components.classes [“@ mozilla.org/consoleservice;1”]。getService(Components.interfaces.nsIConsoleService);':::然后,我的扩展程序中的所有打印语句如下所示:'econsole.logStringMessage(“funcname():variable =”+ variable);':::这将打印到错误控制台和浏览器控制台。这是不是你提到的,或者相同? – honestann
另外,即使'about:config'显示browser.dom.window.dump,'dump(string);'和'window.dump(string);'也不会向错误控制台或浏览器控制台输出任何内容。启用'是'true'。但是我所有的'econsole.logStringMessage()'都会输出到错误控制台和浏览器控制台。嗯。 – honestann
'Cu.reportError'使用'nsIConsoleService',但当传递错误和异常时会生成链接源的正确错误消息。 'dump'只能打印到终端控制台(如果stdout/sterr被附加到程序中,例如从命令行运行)。 – nmaier