2008-08-07 109 views
30

在过去的几个月中,我开始了我的第一个严肃的JavaScript开发,因为我开始开发XUL应用程序。我使用Notepad ++作为我的编辑器,但是我非常惊讶地发现(据我所知)Venkman/Javascript调试器是调试工具。对于.Net语言来说,它似乎是Visual Studio的一个糟糕的替代品。用于JavaScript/xulrunner开发的最佳调试工具

我错过了什么吗? JavaScript开发的最佳工具和最佳实践是什么?有没有我不知道的杀手级IDE /调试器/编辑器组合?

不过,它必须比这更容易。

我听说过一些Eclipse的提及 - 这是一个很好的选择吗?我对此知之甚少。

编辑:你们中有些人指出了Firebug的 - 我想我的问题是,我实际上并不使用JavaScript的Web开发针对萤火似乎是工具 - 而不是我用它XULrunner的XUL开发。这可能只是一个弱点或immaturity of xulrunner

回答

14

是的,目前没有正式的XUL + JS开发调试器。但在我几年的经历中,如果没有它,我可以做得很好。方法如下:

希望科莫多(基于Mozilla的编辑器/ IDE,又开源的最后一年)将最终开发用于调试Mozilla代码的工具。

7

Firebug在浏览器中的JavaScript开发中是无与伦比的。

+0

除了蜻蜓,请检查出来,如果你能找到它。 – 2008-10-08 10:13:08

4

'alert(x);'是主要的技术太久了。

正如其他人所说,FireBug是进行FireFox调试的方式。

Aptana IDE(基于eclipse)最近在javascript IDE区域中做了一些闪现。

与以前版本相比,Visual Studio 2008包含很多改进的javascript调试功能。

1

每晚构建的WebKit的组合有一些很棒的新调试工具:

http://nightly.webkit.org/

+2

他正在开发xrrrunner应用程序,在那里你编写一个“原生”的JavaScript看UI。这是Firefox编写的内容,但基本上,您不能使用WebKit的调试工具来调试xulrunner中的JavaScript。 – Douglas 2010-05-05 10:31:11

0

我做了很多XUL/JS的发展,我使用的代码编辑和的Venkman调试的EclipseJSEclipse的组合。让Venkman与您的XUL应用程序一起工作可能会非常棘手,但这是值得的。

http://developer.mozilla.org/en/Debugging_a_XULRunner_Application有关于在您的应用程序中启用Venkman的信息。一探究竟;我向你保证,这是值得你花在它上面的时间。

+1

我确实有Venkman的工作,它只是比它可以与IDE集成不太方便。我想知道更多关于如何使用eclipse的信息,如果这样做的话:http://eclipsexul.sourceforge.net/ – pc1oad1etter 2008-09-18 03:42:03

0

如果你使用SQLite的话,特别是对于FireFox开发,那么我会建议Firefox Addon“SQLite Manager”。它不仅可以轻松让您在用户配置文件中查看Firefox存储的配置文件信息,还可以打开其他SQLite数据库。很有用。

5

正如我在另一个post中所说的,对我来说,最方便的JavaScript调试工具是Mozrepl。它是一个使用telnet访问浏览器/应用程序实例的Firefox/XULRunner扩展,您可以远程观察和操纵应用程序中的所有内容;甚至框架本身。

它作为一个调试器非常有用(在独立的XUL应用程序中它是唯一可承受的方式来进行真正的调试),作为一个工具来玩弄和理解你的应用程序的胆量,它加快了你的XUL Javascript开发时间十倍。

对于可能性的令人印象深刻的演示,请查看this video

1

为了完整起见,如果您使用的是Mozilla平台版本< 6.0,Chromebug是一个不错的选择。我希望我或其他人有足够的资金来使它更新。

0

我还没有做任何XUL开发/调试,但以下是我的Javascript调试/ dev的工具列表。

  • Firebug

  • FireRainbow,FireRainbow使JavaScript语法高亮萤火虫

  • FirePHP,FirePHP使您可以使用一个简单的PHP方法调用登录到您的Firebug的控制台。

  • Widerbug,可以利用宽屏进行js调试/开发。现在已经过时了,因为Firebug 1.9支持开箱即用。

6

XULRunner/Firefox现在支持本地远程调试!你可以使用XULRunner作为调试器,使用firefox作为调试器。

Instruction for remote debgging可以在MDN找到。

您必须在调试对象和调试器中将pref devtools.debugger.remote-enabled设置为true

使用此代码在您的应用程序:

var windowtype = ... 
Components.utils.import('resource://gre/modules/devtools/dbg-server.jsm'); 
DebuggerServer.chromeWindowType = windowtype; 

if (!DebuggerServer.initialized) { 
    DebuggerServer.init(); 
    DebuggerServer.addBrowserActors(windowtype); 
} 

DebuggerServer.openListener(6000); 

如果你的网页是(X)HTML,与null分配windowtype;如果你的页面是XUL,分配windowtypexul:window元素的WINDOWTYPE属性的值相同:

<xul:window windowtype=... > 
... 
</xul:window> 

启动XULRunner的应用程序,并在Firefox中,转到工具> Web开发者> ...连接,连接到本地主机,端口6000,你应该能够调试。