Узнайте, как выявлять и исправлять ошибки в программах Node.js с помощью этих эффективных методов отладки.

Как разработчик, отладка является неотъемлемой частью вашего рабочего процесса. Независимо от того, насколько вы опытны, вы всегда будете сталкиваться с ошибками в своем коде. Это особенно верно для приложений Node.js, которые могут иметь сложные кодовые базы и зависимости. Отладка приложений Node.js может быть сложной задачей, но с помощью правильных инструментов и методов вы сможете легко выявлять и устранять проблемы в своем коде.

Запуск Node.js с --inspect-brk

Первый шаг к отладке приложения Node.js — запустить процесс с флагом --inspect-brk. Этот флаг включает отладчик Node.js и приостанавливает работу приложения перед выполнением любого кода. Это дает вам время подключить к процессу отладчик и проверить код.

Чтобы запустить процесс Node.js с помощью --inspect-brk, используйте следующую команду:

node --inspect-brk app.js

Эта команда запускает ваш процесс Node.js и приостанавливает его перед выполнением любого кода. Затем вы можете подключить к процессу отладчик и начать отладку кода.

— осматривать vs. — осматривать-brk

--inspect включает отладку, но не приостанавливает выполнение до тех пор, пока не будет подключен отладчик. --inspect-brk запускает процесс Node.js в режиме отладки и сразу же приостанавливает выполнение кода в первой строке, позволяя подключить отладчик до того, как код запустится дальше.

Хорошей практикой является использование --inspect-brk, когда вам нужно отладить сценарий, потому что это гарантирует, что у вас будет достаточно времени для подключения отладчика до того, как код начнет выполняться.

Используйте --inspect в скрипте NPM

Чтобы использовать --inspect или --inspect-brk в сценарии NPM, вы можете установить команду node с соответствующей опцией в качестве значения сценария. Например, чтобы запустить скрипт с именем my-script.js в режиме отладки с --inspect, вы можете добавить следующий скрипт в свой package.json: "debug": "node --inspect my-script.js".

Вы также можете использовать NODE_OPTIONS для установки параметров отладки для процесса Node.js, запущенного другим инструментом, например next dev или webpack build. Например, чтобы запустить next dev с --inspect, вы можете добавить в свой package.json следующий скрипт: "dev-debug": "NODE_OPTIONS='--inspect' next dev".

Использование Chrome DevTools для отладки приложений Node.js

Chrome DevTools – это мощный инструмент, который можно использовать для отладки внешнего и внутреннего кода. Он предоставляет удобный интерфейс, который позволяет вам проверять код, устанавливать точки останова и просматривать стек вызовов.

Чтобы отладить приложение Node.js с помощью Chrome DevTools, выполните следующие действия.

  1. Откройте окно Chrome и перейдите к chrome://inspect.
  2. Нажмите кнопку Открыть специальные инструменты разработчика для Node.
  3. На вкладке Подключение нажмите Добавить подключение.
  4. Добавьте соединение, соответствующее порту, который прослушивает Node.js (например, localhost:9229).
  5. Щелкните значок Node.js, чтобы открыть новое окно DevTools, связанное с вашим процессом Node.js.

После подключения к процессу Node.js вы можете использовать Chrome DevTools для отладки кода. Вы можете устанавливать точки останова, выполнять код пошагово, просматривать локальные и глобальные переменные и многое другое.

Отладка исключений

Когда в вашем приложении Node.js возникает исключение, может быть сложно определить источник проблемы. Однако с помощью правильных инструментов и методов вы можете быстро определить причину исключения и устранить проблему.

Чтобы отладить исключение в приложении Node.js, выполните следующие действия.

  1. Запустите приложение в режиме отладки, запустив его с флагом --inspect-brk.
  2. Откройте Chrome DevTools и перейдите на вкладку Источники.
  3. Нажмите восьмиугольную кнопку «Пауза при исключениях», чтобы приостановить выполнение при возникновении исключения.
  4. Запускайте приложение до тех пор, пока не будет сгенерировано исключение, и отладчик приостановит выполнение в точке, где было сгенерировано исключение.

Затем вы можете использовать Chrome DevTools или инструменты отладки вашей IDE, чтобы проверить состояние вашего приложения и определить причину исключения.

Отладка утечек памяти

Утечки памяти могут быть серьезной проблемой в приложениях Node.js и могут привести к сбою приложения или нехватке памяти. Однако с помощью правильных инструментов и методов вы можете выявить и устранить утечки памяти в своем коде.

Одним из инструментов для выявления утечек памяти в приложениях Node.js является флаг --inspect. Этот флаг включает встроенный профилировщик кучи в Node.js и позволяет проверять использование памяти вашим приложением.

Чтобы использовать профилировщик кучи, выполните следующие действия.

  1. Запустите приложение в режиме отладки, запустив его с флагом --inspect.
  2. Откройте Chrome DevTools и перейдите на вкладку Память.
  3. Нажмите кнопку «Начать профилирование», чтобы начать профилирование использования памяти вашим приложением.
  4. Запустите приложение и выполните действия, вызывающие утечку памяти.
  5. Нажмите кнопку «Остановить профилирование», чтобы прекратить профилирование использования памяти вашим приложением.
  6. Проверьте снимок кучи, чтобы определить объекты и функции, вызывающие утечку памяти.

Затем вы можете использовать эту информацию, чтобы устранить утечку памяти в вашем коде и повысить производительность и стабильность вашего приложения Node.js.

Добавление точек останова

Точки останова — это мощный инструмент для отладки приложений Node.js. Они позволяют вам приостановить выполнение вашего кода на определенной строке и проверить состояние вашего приложения.

Чтобы добавить точку останова в Chrome DevTools, щелкните левой кнопкой мыши в поле, чтобы создать точку останова. Вы также можете щелкнуть правой кнопкой мыши в поле и выбрать «Добавить условную точку останова», чтобы создать точку останова, которая приостанавливает отладчик только при выполнении определенного условия.

Иногда вы хотите отладить цикл, который выполняется много раз, прежде чем произойдет ошибка. В этом случае вы можете добавить условную точку останова, которая приостанавливает отладчик только при выполнении определенного условия.

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

Оператор debugger — полезный инструмент для отладки приложений Node.js. Это позволяет вам остановить выполнение вашего кода в определенной точке и проверить состояние вашего приложения.

Чтобы использовать оператор debugger, просто добавьте его в свой код в том месте, где вы хотите приостановить выполнение. При выполнении оператора debugger отладчик Node.js приостановит выполнение и позволит вам проверить состояние вашего приложения.

Например, рассмотрим следующий код:

function add(a, b) {
  debugger;
  return a + b;
}

При выполнении функции add отладчик остановится на операторе debugger, что позволит вам проверить значения a и b.

Отладка кода Visual Studio

Visual Studio Code — это популярная интегрированная среда разработки (IDE) для разработки Node.js. Он предоставляет встроенные инструменты отладки, которые позволяют отлаживать приложения Node.js непосредственно из IDE.

Чтобы отладить приложение Node.js с помощью Visual Studio Code, выполните следующие действия.

  1. Откройте свой проект в Visual Studio Code.
  2. Нажмите кнопку Отладка на боковой панели.
  3. Нажмите ссылку создать файл launch.json, чтобы создать новый файл конфигурации.
  4. Выберите Node.js в качестве среды.
  5. Задайте для свойства program путь к файлу Node.js.
  6. Установите любые дополнительные свойства, такие как args или env.
  7. Нажмите кнопку Начать отладку, чтобы начать отладку кода.

Visual Studio Code также позволяет отлаживать код на стороне клиента с помощью конфигурации "type": "chrome". Эта конфигурация запускает экземпляр Chrome с включенной отладкой и позволяет отлаживать клиентский код непосредственно из Visual Studio Code.

Заключение

Отладка приложений Node.js может быть сложной задачей, но с помощью правильных инструментов и методов вы сможете легко выявлять и устранять проблемы в своем коде. Запуск процесса Node.js с флагом --inspect-brk и использование Chrome DevTools для отладки кода — важные инструменты для любого разработчика Node.js. Кроме того, Visual Studio Code предоставляет мощную IDE со встроенными инструментами отладки для разработки Node.js.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .