REST API ошибок трассировки стека
Как показать информацию трассировки стека, когда есть ошибка в API (написано в nodejs)? Я использовал curl для публикации сообщения между прочим.
Я попробовал параметр cli узла, --stack-trace-limit, но ничего не показывается, кроме недружелюбного сообщения об ошибке одного лайнера. Я мог бы использовать консоль. * И строки отладчика в коде, но это слишком много времени. Я попробовал нод-инспектор. Хотя у него приятный графический интерфейс, он довольно сильно падает. Я считаю, что должен быть более простой способ?
Спасибо. J
1 ответ
Не видя некоторого кода, трудно ответить конкретно. Однако вы также можете получить трассировку стека, используя
var stack = new Error().stack
Полезные модули
- Memwatch Полезно для вывода различий в куче в различных местах вашего кода
- узел heapdump Позволяет отправить
kill -SIGUSR2 [pid]
в работающий процесс узла для создания heapdump, который затем можно просмотреть в инструментах разработчика Chrome, открыв вкладку профилей и щелкнув правой кнопкой мыши на левой панели и выбрав Загрузить профиль - Стандартный отладчик v8 запускает ваш процесс с
node debug module_name.js
Тогда где угодноdebugger;
утверждение в вашем коде вызовет отладку - node-webkit-agent Инструмент профилирования кучи и процессора, который использует интерфейс инструментов разработчика Chrome для профилирования вашего приложения node.js. Отладка в настоящее время не поддерживается, но, видимо, уже в пути
- Длинные трассировки стека Иногда вы можете получить ошибки, с которыми не связан ни один стек. У меня была эта проблема с http-запросами иногда. Лонгджон исправляет эту проблему
- node-ofe Автоматически генерирует дамп кучи, когда ваше приложение аварийно завершает работу.
Структура кода
То, как вы пишете асинхронный код node.js, может сильно повлиять на простоту отладки. Именованные функции - это хорошо, анонимные вложенные функции - плохо. Посетите http://callbackhell.com/ для хорошего руководства о том, как написать чистый отлаживаемый код node.js.