2008-08-07 6 views
30

В последние несколько месяцев я начал свою первую серьезную разработку JavaScript, так как начал разрабатывать приложения XUL. Я использую Notepad ++ в качестве своего редактора, но я был довольно потрясен, чтобы найти (насколько я могу судить), что Venkman/Javascript Debugger - это инструмент для отладки. Это похоже на плохую замену Visual Studio для .Net-языков.Лучшие инструменты для отладки для JavaScript/xulrunner Development

Я что-то упустил? Каковы наилучшие инструменты и рекомендации для разработки JavaScript? Есть ли какая-то комбинация IDE/отладчика/редактора killer, о которой я не знаю?

Это должно быть проще, чем это.

Я слышал некоторые упоминания о Eclipse - это хороший выбор здесь? Я мало знаю об этом.

Edit: Некоторые из вас указали Firebug - Я думаю, что моя проблема в том, что я на самом деле не с помощью JavaScript для веб-разработки, для которых Firebug, кажется, инструмент - вместо этого я использую его для Развитие XUL в xulrunner. Это может быть просто слабость или immaturity of xulrunner.

ответ

14

Да, в настоящее время нет подходящего отладчика для разработки XUL + JS. Но в моем многолетнем опыте я мог бы обойтись без этого. Вот как это делается:

  • Использовать протоколирование. Либо реализуйте свои собственные утилиты ведения журнала, либо общие (например, https://wiki.mozilla.org/Labs/JS_Modules#Logging, хотя я еще не использовал его еще, см. Также http://developer.mozilla.org/en/docs/Using_JavaScript_code_modules)
  • При написании кода используйте JS Shell и Live XUL Editor (от Extension developer's extension) наряду с инспектором DOM для прототипирования.
  • Set up a profile for development, затем отлаживается путем настройки исходного кода (добавления журнала и предупреждения() s :) и перезагрузки затронутого окна.
  • Когда это возможно, написать юнит-тесты, используя available frameworks (они не нашли широкого применения с кодом вне дерева Mozilla в настоящее время)

Надеюсь Комодо (Mozilla на основе редактор/IDE, пошел с открытым исходным кодом в прошлом году) будут расти инструменты для отладки кода Mozilla.

7

Firebug довольно хорошо подходит для разработки JavaScript в браузере.

+0

За исключением Dragonfly, проверьте это, если вы можете его найти. – 2008-10-08 10:13:08

4

'alert (x);' был слишком сложным методом.

FireBug, как говорили другие, является способом отладки FireFox.

Aptana IDE (основанный на затмении) недавно сделал всплеск в области IDE javascript.

Visual Studio 2008 содержит значительно улучшенные возможности отладки JavaScript в предыдущих версиях.

1

Ночные сборки WebKit имеют некоторые новые инструменты отладки:

http://nightly.webkit.org/

+2

Он разрабатывает приложения xulrunner, где вы программируете «собственный» внешний интерфейс в JavaScript. Это то, что написано в Firefox, но в основном вы не можете использовать инструмент отладки для WebKit для отладки JavaScript в xulrunner. – Douglas 2010-05-05 10:31:11

0

Я много разработки XUL/JS, и я использую комбинацию Eclipse и JSEclipse для редактирования кода и Venkman для отладки. Трудно заставить 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. Это расширение Firefox/XULRunner, которое обращается к экземпляру браузера/приложения с помощью telnet, и вы можете наблюдать и управлять всем в своем приложении удаленно; даже самой каркас.

Это невероятно полезно в качестве отладчика (на автономных приложениях XUL это единственный приемлемый способ выполнения реальной отладки), а также как инструмент для игры и понимания кишок вашего приложения, это ускоряет ваше время разработки XUL Javascript в десять раз.

Для впечатляющей демонстрации возможностей можно ознакомиться this video.

1

В интересах полноты, если вы используете версию платформы Mozilla < 6.0, Chromebug - отличный выбор. Хотелось бы, чтобы я или кто-то еще имели возможность обновить его.

0

У меня не было разработки/отладки XUL, но ниже приведен список моих инструментов для отладки Javascript/dev.

  • Firebug

  • FireRainbow, FireRainbow позволяет синтаксис яваскрипта подсвечивает Firebug

  • FirePHP, FirePHP позволяет войти в свой Firebug консоли, используя простой метод PHP вызов.

  • Widerbug, может использовать широкие экраны для отладки/разработки js. Устаревший теперь, поскольку он поддерживается в Firebug 1.9 прямо из коробки.

6

XULRunner/Firefox поддерживает встроенную удаленную отладку сейчас! Вы можете использовать XULRunner как debuggee, а firefox - как отладчик.

Instruction for remote debgging можно найти на MDN.

Вы должны установить pref devtools.debugger.remote-enabled в true как в debuggee, так и в отладчике.

Используйте этот код в приложении:

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, назначать windowtype с null; если ваша страница XUL, назначьте windowtype с тем же значением атрибута WindowType от xul:window элемента:

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

Start приложение XULRunner, и в Firefox, перейдите в меню Инструменты> Web Developer> Connect ..., подключение на localhost, порт 6000, и вы должны уметь отлаживать.

 Смежные вопросы

  • Нет связанных вопросов^_^