Отладка со сверхспособностями

Отладка - важная часть разработки приложения, в котором вы обнаруживаете и устраняете ошибки. В этом блоге мы увидим, как мы можем эффективно отлаживать код Node.js с помощью DevTools браузера Google Chrome и кода Visual Studio.

Многие новички используют console.log() для отладки кода, что неэффективно, так как нам нужно снова и снова добавлять console.log в строки кода.

Это заставляет нас остановить приложение, добавить console.log и снова запустить приложение. Этот процесс создает ненужный код и снижает нашу продуктивность.

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

При необходимости мы можем приостановить выполнение и проверить переменные / объекты, а затем изменить их без перезапуска нашего приложения в любой момент времени.

Использование Google Chrome DevTools для отладки

Google Chrome поставляется со стандартным инструментом отладки Node.js, поэтому предпочтительно использовать последнюю версию Chrome.

Чтобы начать отладку, запустим наше приложение с флагом --inspect-brk.

Пример: $ node --inspect-brk server.js

Следующий шаг - перейти в Chrome, открыть новую вкладку и ввести URL chrome://inspect/.

Щелкните «Открыть выделенный DevTools для узла», чтобы начать отладку приложения. Просмотр исходного кода в Chrome DevTools займет пару секунд.

Практическая отладка в Chrome

Теперь давайте поработаем с приведенным ниже кодом, запустим приложение с node --inspect-brk server.js и откроем Chrome DevTools.

Когда мы открываем DevTools, исходный код появляется в браузере, который загружается во время работы нашего приложения и будет приостановлен на первой строке.

Нажмите кнопку воспроизведения в правом верхнем углу, как показано на изображении ниже, чтобы возобновить выполнение скрипта.

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

Чтобы добавить точку останова, щелкните по номерам строк или в желобе, или в пустом месте. Добавьте несколько точек останова в «Get API», где мы хотим исследовать объекты запроса.

Теперь давайте назовем Get API: http: // localhost: 3000 / sam, мы сможем обнаружить DevTools, который автоматически всплывает и отображает выполнение, приостановленное в этих точках останова.

Мы можем навести указатель мыши на эти строки, чтобы просмотреть переменные или объекты, полученные в области видимости, как показано ниже.

Давайте рассмотрим некоторые важные функции, доступные в отладчике Chrome справа:

  1. Наблюдайте: в этом разделе мы можем щелкнуть значок + и добавить переменные, которые мы хотим отслеживать, пока мы приостановлены на точке останова. Иногда они недоступны или не определены, в зависимости от области действия и от того, не присвоено ли им значение в этой точке останова.
  2. Стек вызовов: просмотр списка вызовов функций.
  3. Область действия: в разделе области действия мы можем просматривать или редактировать переменные с локальной и глобальной областью действия.
  4. Точки останова: просмотр списка точек останова.

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

Эти стрелки позволяют нам:

  • Перейти к следующему вызову функции.
  • Перейдите к следующему вызову функции, чтобы заглянуть в эту функцию и посмотреть.
  • Выйти из текущей функции.

Примечание. Мы можем обойти их, поэкспериментировать и изучить дополнительные функции.

Отладка в VS Code

Теперь давайте посмотрим, как мы можем использовать нашу любимую IDE (интегрированную среду разработки) VS Code для отладки Node.js, что настоятельно рекомендуется, а не Chrome.

Откройте VS Code и нажмите Ctrl + Shift + D, это откроет вкладку отладчика в VS Code, как показано ниже.

Щелкните значок шестеренки в правом верхнем углу меню, откроется launch.json файл. Настройте JSON в соответствии со спецификациями, как показано на изображении ниже.

Измените значение программы с ${workspaceFolder}\\index.js на ${workspaceFolder}\\server.js, поскольку имя нашего файла - server.js.

Присвойте программе желаемое имя. Мы назвали нашу программу запускать программу Node.js на изображении ниже.

Чтобы запустить программу и открыть консоль отладки, нажмите кнопку запустить.

Теперь мы можем добавлять точки останова так же, как в вышеупомянутом инструменте отладчика Chrome.

В качестве альтернативы мы можем добавить ключевое слово debugger перед строкой кода, если мы хотим приостановить выполнение на этом этапе.

Например, я добавил отладчик в 12-ю строку на изображении ниже.

Отладчик VS Code состоит из других важных функций, таких как часы, стек вызовов, точки останова и палитра навигации.

В случае, если мы используем Nodemon для разработки, измените конфигурацию, как показано на изображении ниже, и запустите приложение с помощью Nodemon только из терминала VS Code.

Итак, наконец, теперь вы можете использовать Visual Studio Code или Google Chrome для отладки приложений Node.js.

Удачной отладки!