Это руководство объясняет, как использовать Инструменты разработчика Firefox для отладки различных версий десктопного Firefox, запущенного на том же компьютере. В этом документе экземпляр Firefox, который будет отлаживаться, назовём отлаживаемый(debuggee), а тот, с которого производится отладка - отлаживающий (debugger, отладчик).
Включение удалённой отладки
Во-первых, убедитесь, что в обоих Firefox (отлаживаемый и отлаживающий) установлены галочки "Включить удалённую отладку" (Enable remote debugging) и "Включить инструменты отладки browser chrome и дополнений" (Enable chrome and add-on debugging), которые находятся в настройках Инструментов разработчика Firefox. Если у вас используется Firefox Developer Edition, то галочки уже установлены по умолчанию.
Это потребуется сделать только однажды. После перезагрузки настройки сохранятся.
Запуск сервера отладчика
Далее нужно стартовать сервер отладчика в отлаживаемом Firefox.
До Firefox 37
До Firefox 37: открыть Панель разработчика и введите команду:
listen 6000
Это укажет отлаживаемому прослушивать клиентов-отладчиков на порту 6000. Кроме этого нигде больше не используйте порт 6000.
После перезагрузки нужно будет ввести команду заново.
После Firefox 37
Начиная с Firefox 37 и далее описанный метод работает, но есть другой: запустите отлаживаемый из командной строки, передав ему параметр --start-debugger-server
:
/path/to/firefox --start-debugger-server
Без аргументов параметр --start-debugger-server
запустит прослушивание сервером 6000 порта. Для использования другого порта передайте его номер:
/path/to/firefox --start-debugger-server 1234
Отметьте: в Windows вызов start-debugger-server
записывается с одним "минусом":
firefox.exe -start-debugger-server 1234
Примечание: По умолчанию и по соображениям безопасности включена (через about:config) опция devtools.debugger.force-local
. Если нужно отлаживать Firefox с другого компьютера, то измените её, но только в безопасной сети или за файерволом, чтобы предотвратить несанкционированный доступ.
Подключение
Есть два способа подключения: "Экран подключения" и "WebIDE".
Экран подключения
На отлаживающем Firefox в меню "Разработка" есть пункт "Соединиться...". Кликните его и увидите страницу:
Введите номер порта, заданный для отлаживаемого и нажмите "Connect". В отлаживаемом увидите диалог для подтверждения подключения:
Нажмите"OK" и вернитесь в отладчик. Появится такая страница:
- Под "Available remote tabs" (Доступные удалённые вкладки) находится список всех вкладок отлаживаемого. Кликните в одну для соединения Инструментов разработчика Firefox c ней.
- Под "Available remote add-ons" (Доступные удалёныне дополнения) находится список всех дополнений на отлаживаемом. Кликните в один для соединения Инструментов разработчика Firefox.
- Под "Available remote processes" (Доступные удалённые процессы) - список процессов, запущенных в Firefox. Кликните "Main process" (Главный процесс) для соединения Инструментов разработчика с самим браузером.
WebIDE
На отлаживающем Firefox откройте WebIDE кликните "Select Runtime"/"Remote Runtime" (Удалённый Runtime):
Вас попросят предоставить имя компьютера и порт. Введите "localhost:6000" или другой номер порта, если прислушивается иной порт (смотря какой вы указали).
На отлаживаемом Firefox появится предупреждение:
Кликните OK. WebIDE подключится к главному процессу. Если вы захотите подключиться к вкладке, то в списке слева выберите нужную вкладку, которую будете отлаживать.