Недавно я переключился с Firebug на Google Chrome, так как в нем есть довольно мощные встроенные инструменты отладки (Ctrl + Shift + J, чтобы получить Инструменты разработчика окно открыто), включая точки останова.
Я также очень эффективно использовал ведение журнала / трассировку. Некоторые примеры:
Субъективно, потому что то, что лучше для одного, не лучшее для других.
Лично я считаю, что самый простой / самый быстрый способ - использовать предупреждения или писать в небольшую область вывода отладки (т.е. я не беспокоюсь о firebug или какой-либо системе с точками останова и т. Д., Из-за характера того, как JavaScript является сгенерировано).
Но я, вероятно, считаю этот способ хорошим только потому, что занимаюсь им около 10 лет, так что YMMV.
Я в основном разрабатываю для FireFox, поэтому я склонен использовать инструменты на этой платформе.
Мне очень нравится Venkman JavaScript Debugger, но он несовместим с новыми версиями FireFox AFAIK.
Как уже говорили другие, FireBug - это, в основном, инструмент, которым пользуется большинство людей в наши дни ...
Я бы сказал, ознакомьтесь хотя бы с одним инструментом в каждом из основных браузеров, а затем выберите то, что вам больше всего нравится. использовать в качестве «основного» инструмента, используя другие только для отслеживания проблем на соответствующих платформах.
Мне очень нравится интеллектуальный анализ и отладка JavaScript в Visual Studio. Приятно иметь возможность отлаживать шаг от события javascript до XMLHttpRequest прямо в моем обработчике .net.
Еще один действительно приятный аспект использования VWD - это визуализация отладки. Вы можете навести указатель мыши на любой объект / переменную и вызвать визуализатор, который позволит вам углубиться в объект и изучить значения.
Кроме того, условные точки останова, окна наблюдения. Другими словами, вы получаете большой набор возможностей отладки .net для JavaScript.
Visual Web Developer Express бесплатен и предлагает все это.
Я редко использую отладчик и предпочитаю ведение журнала, для чего использую свой собственный log4javascript . Он работает согласованно во всех основных браузерах, включая IE 6 (и фактически IE 5 и 5.5), и по умолчанию отображает сообщения журнала в отдельном окне консоли, что позволяет фильтровать сообщения журнала по серьезности, искать сообщения журнала (необязательно с помощью регулярное выражение) и многое другое. Он также может отправлять сообщения журнала на сервер с помощью Ajax.
Пример 1: Hello world
var log = log4javascript.getDefaultLogger();
log.info("Hello world");
отображает
19:52:03 INFO - Hello world
Пример 2: Регистрация ошибки с сообщением
try {
throw new Error("Faking something going wrong!");
} catch (e) {
log.error("An error occurred", e);
}
отображает
19:52:32 ERROR - An error occurred
Exception: Faking something going wrong! on line number 80 in file basic.html
Пример 3: Регистрация нескольких сообщений одним вызовом регистрации
var a = "Hello";
var b = 3;
log.debug(a, b);
отображает
19:53:05 DEBUG - Hello 3
Пример 4 : Запись объекта
var obj = new Object();
obj.name = "Octopus";
obj.tentacles = 8;
log.info(obj);
отображает
19:53:17 INFO - {
name: Octopus,
tentacles: 8
}
Один из моих коллег (который много занимается разработкой JS для нескольких браузеров) считает, что отладчик в IE8 очень хорош. Кроме того, последняя версия Firebug для Firefox 3.6 является значительным улучшением по сравнению с более ранними версиями.
РЕДАКТИРОВАТЬ Немного не по теме, но одна вещь, которая раздражала меня в Firebug, - это фактическое отсутствие письменной документации. Мне очень жаль, но видео-презентации просто не режут, насколько я понимаю.
Современные браузеры включают встроенные средства отладки. В IE нажмите F12 (Инструменты> Инструменты разработчика), перейдите на вкладку Сценарий и нажмите Начать отладку. Он сломается при ошибке, и вы можете установить точки останова. Я обнаружил, что инструменты разработчика IE8 чрезвычайно полезны.
В Chrome нажмите Ctrl + Shift + J (Страница> Разработчик> Консоль JS) и нажмите кнопку со знаком остановки паузы («пауза при исключениях»). Вы также можете установить точки останова.