JavaRush /Курси /Frontend SELF UA /Налагодження програми

Налагодження програми

Frontend SELF UA
Рівень 38 , Лекція 2
Відкрита

9.1 Виникнення багів

Налагодження програмного забезпечення — це процес пошуку та виправлення помилок або багів у програмі. Це найцікавіша частина розробки ПЗ, яка допомагає забезпечувати правильну роботу програм.

Історія виникнення терміну "bug"

Термін "bug" (помилка) у контексті комп'ютерних програм уперше почав використовуватися у 1940-х роках. Хоча сама концепція "багів" існувала й до появи комп'ютерів, позначаючи механічні несправності у різних пристроях.

Перший задокументований випадок використання терміну "bug" у комп'ютерній техніці був із командою, яка працювала на комп'ютері Mark II у Гарвардському університеті у 1947(!) році. Команда виявила, що одна з реле машини не працювала через те, що в неї потрапила міль. Вони видалили комаху і записали це в журнал як "перший реальний випадок виявлення комахи" (literal bug).

Хоча це й не був перший випадок використання терміну "bug" для позначення помилки, цей інцидент став відомим і сприяв популяризації терміну «bug».

bug

Налагодження програми

Налагодження — це процес пошуку, діагностики та виправлення багів у програмному забезпеченні. Процес налагодження складається з кількох етапів:

  1. Виявлення помилки: визначення симптомів, що вказують на наявність помилки в програмі.
  2. Відтворення помилки: створення умов, за яких помилка проявляється знову, щоб краще зрозуміти її природу.
  3. Діагностика проблеми: використання різних інструментів та методів для аналізу коду та пошуку причини помилки.
  4. Виправлення помилки: внесення змін у код для усунення помилки.
  5. Тестування: перевірка виправлення та тестування програми, щоб переконатися, що помилка усунена і не з'явилися нові проблеми.

Тож баг (bug) — це загальна назва для будь-яких помилок у програмах, а дебаг (de-bug) — це процес виявлення та усунення цих самих помилок.

9.2 Інструменти та методи налагодження

Логування

Додавання логів у код програми дозволяє відстежувати її виконання та отримувати інформацію про стан змінних і операцій у різних точках виконання програми. Для логування в JavaScript є чудова бібліотека — winston.

Приклад використання логування:

JavaScript
    
      const { createLogger, format, transports } = require('winston');

      // Створюємо логгер з рівнем відладки
      const logger = createLogger({  level: 'debug' });

      // Функція ділення
      function divide(a, b) {
        logger.debug(`Ділення ${a} на ${b}`);
        if (b === 0) {
          logger.error("Спроба ділення на нуль!");
          return null;
        }
        return a / b;
      }

      // Приклад використання функції
      const result = divide(10, 2);
      console.log(result); // Виведе: 5
    
  

Використання відладчиків (Debuggers)

Відладчики — це інструменти, які дозволяють розробникам виконувати програму покроково, встановлювати точки зупинки (breakpoints), перевіряти значення змінних і змінювати їх під час виконання програми.

Популярні відладчики для JavaScript:

  • Chrome DevTools: вбудований відладчик у браузері Google Chrome
  • Firefox Developer Tools: вбудований відладчик у браузері Mozilla Firefox
  • Node.js Debugger: вбудований відладчик для серверного JavaScript у Node.js
  • Visual Studio Code Debugger: відладчик, вбудований у редактор Visual Studio Code

Приклад використання відладчика у Node.js:

JavaScript
    
      // Імпорт вбудованого модуля відладки
      const { inspect } = require('util');

      // Приклад функції з помилкою
      function faultyFunction(a, b) {
        debugger; // Встановлення точки зупинки
        let result = a / b;
        return result;
      }

      // Виклик функції з помилкою
      console.log(faultyFunction(10, 0));
    
  

Коли програма досягає debugger, вона зупиняється, і ви можете використовувати команди відладчика, такі як крок вперед (step over), вхід всередину (step into), вихід (step out), перевірка значень змінних та інші.

Ми з вами будемо вивчати дебаг програм на прикладі відладчика, вбудованого в Intellij IDEA (потрібна версія Ultimate Edition).

9.3 Використання debug

Загалом debug включає в себе активне використання інструментів налагодження та практик для виявлення та усунення помилок.

Кроки налагодження:

  1. Установлення точок зупинки: встановіть точки зупинки у коді, щоб зупинити виконання програми в цікавих для вас місцях.
  2. Покрокове виконання: виконуйте програму крок за кроком, спостерігаючи за змінами у стані програми та значенням змінних.
  3. Аналіз змінних: вивчайте значення змінних і виразів на різних етапах виконання програми, щоб виявити некоректні дані або логічні помилки.
  4. Виправлення помилок: внесіть зміни у код для усунення знайдених помилок.
  5. Повторне тестування: після виправлення помилок проведіть тестування програми, щоб переконатися, що помилка усунена і не виникли нові проблеми.

Виглядає просто, правда? Ось у наступній лекції ми детально по всіх етапах і пройдемося :)

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ