Отладка стала проще

Вступление

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

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

Один из способов отладки - это занесение в консоль переменных этапа в каждой точке. Этот метод может быть подходящим для поиска небольших ошибок, но когда файлы и коды становятся очень большими, запись console.log повсюду становится неэффективной и управляемой. Если вы забудете удалить некоторые из них перед запуском кода в производственную среду, вы рискуете поделиться конфиденциальными данными о структуре вашего приложения, которые могут нанести ущерб вашему приложению.

Использование инструментов отладчика

Существуют отличные инструменты отладки, некоторые из них сложно настроить, а некоторые чрезвычайно просты и понятны. Эти инструменты предоставляют функции, дающие вам представление о потоке кода. Они позволяют вам приостановить выполнение вашего приложения в указанном месте вашего кода. Вы можете входить в метод и выходить из него во время проверки.

Мы рассмотрим NDB, инструмент отладки, который я нашел очень полезным.

ndb.js - это улучшенный интерфейс отладки для Node.js, поддерживаемый chrome DevTools. Чтобы установить его в свое приложение локально, запустите следующие сценарии для yarn или npm в зависимости от ваших предпочтений.

# local install with npm:
npm install --save-dev ndb

# alternatively, with yarn:
yarn add --dev ndb

А затем добавьте это в свои скрипты package.json;

«Отладка»: «точка входа ndb»

Затем вы можете запустить сценарий отладки;

пряжа отладка

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

Вот как это выглядит;

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

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

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

Я добавлю одну точку останова в строке 54, щелкнув номер строки, а затем щелкните правой кнопкой мыши и нажмите «Запустить этот сценарий».

А вот и волшебство;

Глобальные и локальные переменные до этой точки останова можно увидеть под областью видимости.

Я собираюсь ввести ошибку в факториальную функцию, и мы увидим, насколько удобным может быть этот отладчик.

Предполагается, что факториал (6) дает 120, но теперь наша факториальная функция дает 0. Что могло пойти не так? Что ж, позвольте использовать отладчик, чтобы проверить, что на самом деле пошло не так.

Из блока области видимости мы выяснили, что значение i становится 0 на последней итерации, что определенно приведет к 0. Таким образом, мы могли бы исправить эту ошибку, исправив условие цикла for на i ›0. И это прекрасно работает.

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

Заключение

Отладчик узла также предоставляет другие функции, такие как ожидание верхнего уровня, проверка объектов, расширенная фильтрация. Если у вас возникли проблемы с отладкой приложения, я рекомендую вам проверить ndb.

Если вы найдете эту статью интересной и полезной, пожалуйста, хлопайте в ладоши. Спасибо!