Python:
Використання дебагера

Як користуватися:

Давайте розглянемо використання pdb, вбудованого дебагера Python. Уявіть файл, buggy.py, з лукавою помилкою:

def add_one(number):
    result = number ++ 1
    return result

print(add_one(7))

Запускаючи цей скрипт, ви очікуєте побачити 8, але отримуєте лише синтаксичну помилку. Час для дебагера!

У вашому терміналі запустіть:

python -m pdb buggy.py

Ви ввійдете в дебагер, і виглядатиме це так:

> /path_to_file/buggy.py(1)<module>()
-> def add_one(number):

Використовуйте l(ist) для перегляду більше коду, n(ext) для переходу до наступного рядка, або c(ontinue), щоб продовжити виконання скрипта. Коли ви натрапите на помилку, pdb зупиниться і дозволить вам перевірити.

Після того, як ви виправите number ++ 1 на number + 1, перезапустіть дебагер, щоб протестувати виправлення. Пам’ятайте, кращі друзі не дозволяють друзям програмувати без мережі. Амінь.

Поглиблене вивчення

У темні часи програмування (тобто до того, як інтегровані середовища розробки, або ІСР, були повсюдно), дебагери часто були окремими інструментами, які ви використовували поза вашим текстовим редактором. Вони приходили на допомогу, дозволяючи програмістам інспектувати стан їхнього програмного забезпечення в різних точках виконання.

Станом на 2023 рік, pdb Python не єдина доступна опція. Люди можуть використовувати ІСР, такі як PyCharm або Visual Studio Code, які мають свої власні просунуті дебагери. Оснащені такими зручними функціями, як точки зупину, які можна встановити кліком, замість набору криптичних команд.

Потім є ipdb, пакет, який можна встановити через pip, і який привносить чудові можливості IPython у дебагінг. Це як pdb на стероїдах, з доповненням автозаповнення і підсвічуванням синтаксису.

Дебагери також варіюються в своїй реалізації. Деякі працюють тісно пов’язано з виконанням програми на рівні машинного або байт-коду. Інші, як багато дебагерів високого рівня, запускають код у спеціальному середовищі, яке моніторить стан змінних і контролює потік виконання.

Дивіться також

Для повної інформації про власний дебагер Python, перегляньте:

Якщо ви зацікавлені в альтернативах, ці посилання будуть корисними:

Щасливого полювання на баги!