Как заглянуть под капот программы?

Как заглянуть под капот программы?


Некоторые разработчики предпочитают использовать функцию print(), чтобы понять что их программа делает на самом деле. Очевидным недостатком такого подхода является необходимость вносить изменения в код и постоянно перезапускать программу, чтобы увидеть изменения.

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

Вызов отладчика

import pdb; pdb.set_trace()

Пишем команду прямо в коде. Когда интерпретатор дойдет до этой команды запустится отладчик и будут доступны его команды.

Команды отладчика

help ()

Без аргумента выведет список доступных команд. С аргументом выведет помощь для конкретной команды.

list ()

Выводит 11 строк вокруг текущей строки. Если передать 2 аргумента, то интерпретатор выведет строки с 1-го значения по 2-е значение. Если передать 1 аргумент, то выведется заданное количество строк вокруг текущей строки.

up() и down()

Эти команды позволяют передвигаться вверх и вниз соответственно по стеку вызовов.

step() и next()

step() выполнит текущую строку и остановится перед следующим выражение внутри вызываемой функции или следующей строкой в текущей функции.

 next() похожа на step, но next перейдет на следующую строку вне зависимости от вызываемой функции.

Мы разобрали основные команды отладчика pdb, но тема точек остановки осталась не раскрытой. Об установке брейкпоинтов и работе с ними мы поговорим на следующей неделе.








Report Page