January 28, 2020

Отладка

Программистам не всегда удается написать программу с первого раза таким образом, чтобы в ней не было ошибок. Программисты постоянно борятся с ошибками. Чтобы отловить эти ошибки в больших программах мы используем процесс, который называется отладка. В наших маленьких скриптах для того, чтобы посмотреть на значения переменных мы просто вызывали функцию print, передавали ей значение и смотрели, что они выводят на консоль. И если у нас были бы ошибки, мы бы вызывали функцию print таким же образом, для того чтобы найти где у нас ошибка, какие переменные находятся не в том состоянии в котором нам нужно. И уже исходя из этого, из результатов вывода принимать какие-то решения и исправлять код. Продемонстрирую элементы отладки и отладочный процесс в Jupyter Notebook.

Отладочный модуль у нас находится в модуле, который называется pdb.

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

Основные команды, которые стоит выделить это команда "c" (continue), дает возможность выполнить скрипт от одной точки остановы до другой. Команда "n" (next) исполнит инструкцию всего лишь одну, но если есть подвызовы, то есть вызов функции какой-нибудь, то с помощью этой команды мы зайдем внутрь этой функции. Команда "s" (step) переходит так же на следующую инструкцию, однако эта команда если попадает на вызов функции, то она не попадет внутрь этой функции, функция просто будет исполнена. И команда "q" (quit) просто останавливает отладчик.

Сейчас мы переместились к следующей точке остановы, где определен z и к x прибавляется 1. А чтобы оставновить дебагер мы вводим q.

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