Pull to refresh

Удаленная отладка Node.js приложений и кода на WebKit браузерах

Node.JS
В статье пойдет речь о Must Have тулзе для удаленной отладки Node.js приложений либо кода на WebKit браузерах node-inspector.

Для отладки кода в браузере, впринципе удаленная отладка и не нужна, не считая мобильных устройств, где она фактически не возможна потому что крайне не удобна. Совсем другое дело с серверным JavaScript. Node.js имеет несколько отладчиков, восновном продвигают ndb Node Debugger — консольная утилита для дебага Node.js приложений. Подходит только для фанатов консоли либо для мазохистов. Работать не удобно, отлаживать долго, по сравнению с отладкой кода в том же FireBug.

Что же умеет node-inspector:
1. Удаленная отладка
2. Отладка в графическом интерфейсе WebKit-debugger (На клиент ничего не нужно ставить — у вас все уже есть)
3. Редактирование runtime-кода!
4. Использует WebSockets, и никакого polling'а!
5. Удаленное профилирование блоков кода c использованием v8-profiler

Пара скриншотов, которые все объясняют


Просмотр исходного кода
image

Контекст функции
image

Установка


Требования node, npm
npm install node-inspector



Запуск


1. Запускаем инспектор в фоне node-inspector &
node-inspector запустит веб сервер, который по умолчанию будет слушать все входящие соединения на :8080
2. И запускаем наш скрипт node --debug path/to/yourprogram.js
нод откроет интерфейс отладки на порту 5858
3. Открываем любой десктопный WebKit браузер — лучше Chrome и переходим по ссылке http://YOUR-SERVER-IP:8080/debug?port=5858 Важно: в URL должен быть именно IP
4. Хром откроет интерфейс отладчика (как на 1-м скриншоте)
5. Радуемся и отлаживаем удаленно

Использование




За проектом наблюдают около 500 пользователей и он бурно развивается.
Если вы найдете баги или у вас есть вопросы — node-inspector, вики node-inspector

PS Сперва хотел запостить коммент в предыдущий топик-ссылку об удаленной отладке habrahabr.ru/blogs/javascript/114811 но коммент выходил слишком длинный, поэтому решил оформить статью.
Tags:debugjavascriptremote debugnode.jswebkitchromesafariv8webkit debug protocol
Hubs: Node.JS
Total votes 25: ↑25 and ↓0+25
Views20K

Popular right now