В статье пойдет речь о 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
Просмотр исходного кода
Контекст функции
Требования node, npm
1. Запускаем инспектор в фоне
node-inspector запустит веб сервер, который по умолчанию будет слушать все входящие соединения на :8080
2. И запускаем наш скрипт
нод откроет интерфейс отладки на порту 5858
3. Открываем любой десктопный WebKit браузер — лучше Chrome и переходим по ссылке
4. Хром откроет интерфейс отладчика (как на 1-м скриншоте)
5. Радуемся и отлаживаем удаленно
За проектом наблюдают около 500 пользователей и он бурно развивается.
Если вы найдете баги или у вас есть вопросы — node-inspector, вики node-inspector
PS Сперва хотел запостить коммент в предыдущий топик-ссылку об удаленной отладке habrahabr.ru/blogs/javascript/114811 но коммент выходил слишком длинный, поэтому решил оформить статью.
Для отладки кода в браузере, впринципе удаленная отладка и не нужна, не считая мобильных устройств, где она фактически не возможна потому что крайне не удобна. Совсем другое дело с серверным JavaScript. Node.js имеет несколько отладчиков, восновном продвигают ndb Node Debugger — консольная утилита для дебага Node.js приложений. Подходит только для фанатов консоли либо для мазохистов. Работать не удобно, отлаживать долго, по сравнению с отладкой кода в том же FireBug.
Что же умеет node-inspector:
1. Удаленная отладка
2. Отладка в графическом интерфейсе WebKit-debugger (На клиент ничего не нужно ставить — у вас все уже есть)
3. Редактирование runtime-кода!
4. Использует WebSockets, и никакого polling'а!
5. Удаленное профилирование блоков кода c использованием v8-profiler
Пара скриншотов, которые все объясняют
Просмотр исходного кода
Контекст функции
Установка
Требования 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 должен быть именно IP4. Хром откроет интерфейс отладчика (как на 1-м скриншоте)
5. Радуемся и отлаживаем удаленно
Использование
За проектом наблюдают около 500 пользователей и он бурно развивается.
Если вы найдете баги или у вас есть вопросы — node-inspector, вики node-inspector
PS Сперва хотел запостить коммент в предыдущий топик-ссылку об удаленной отладке habrahabr.ru/blogs/javascript/114811 но коммент выходил слишком длинный, поэтому решил оформить статью.