Используйте Run Code / Run (Запуск кода), когда хотите выполнить свою программу и увидеть ее вывод. Используйте Debug (Отладку), когда хотите приостановить выполнение на строке, проверить переменные и выяснить, почему результат неверен. Отладка особенно полезна, когда ваш код выполняется без ошибок, но выдает неожиданный ответ.

Этот гид использует исполнитель Python CodeUtility и небольшой пример вычисления. Рабочий процесс с точками останова и пошаговым выполнением также применим к другим исполнителям, где доступна отладка. Поддержка времени выполнения и элементы управления могут различаться; используйте поддерживаемую серверную среду выполнения для этого руководства по Python. Скриншоты показывают интерфейс на английском языке.

1. Попробуйте небольшую программу с логической ошибкой

Откройте исполнитель Python, выберите Python 3.11 в меню версий и введите следующие четыре строки. Цена 12, умноженная на количество 3, должна дать 36. Эта программа намеренно использует сложение, поэтому она выдает 15.

price = 12
quantity = 3
total = price + quantity
print(total)

2. Установите точку останова перед началом отладки

Нажмите в левом поле рядом с строкой 3, строкой, содержащей total = price + quantity. Появится красный маркер точки останова. Точка останова указывает отладчику, где приостановить выполнение. Нажмите на маркер снова, чтобы удалить его. Устанавливайте точки останова на исполняемых операторах, а не на пустых строках или комментариях.

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

3. Начните отладку и проверьте значения

Выберите Debug (Отладка) на панели инструментов редактора; наведите курсор на значок, чтобы увидеть его название. Подождите, пока окно отладчика не сообщит Paused at line 3 (Приостановлено на строке 3). Приостановлено означает, что программа ждет вашего следующего действия по отладке.

Посмотрите под VARIABLES (ПЕРЕМЕННЫЕ): price равно 12, а quantity равно 3. Строка 3 еще не выполнена, поэтому total не указан. Выделенная строка — это следующая инструкция для выполнения. CALL STACK (СТЕК ВЫЗОВОВ) показывает, где выполнение в данный момент приостановлено.

Приостановлено перед строкой 3: цена равна 12, а количество равно 3; total еще не присвоено.
Приостановлено перед строкой 3: цена равна 12, а количество равно 3; total еще не присвоено.

4. Пошагово выполните вычисление

Нажмите Step Over (Пошаговое выполнение) один раз. Выполнение переходит к строке 4, и total теперь появляется со значением 15. Это показывает, что неправильный ответ возникает из-за сложения двух значений в строке 3.

После Пошагового выполнения отладчик приостанавливается на строке 4 и показывает total = 15.
После Пошагового выполнения отладчик приостанавливается на строке 4 и показывает total = 15.

Continue (Продолжить) возобновляет выполнение до достижения другой точки останова или завершения программы. Step Over (Пошаговое выполнение) выполняет текущую инструкцию, не заходя в вызываемую функцию. Step Into (Войти) заходит в вызываемую функцию, когда это поддерживается. Step Out (Выйти) выполняет до возврата текущей функции. Stop (Остановить), отображаемый как квадратный значок, завершает сессию отладки.

5. Исправьте код и запустите его снова

Выберите Продолжить, чтобы завершить пример, или Остановить, чтобы закончить сессию. Замените знак сложения в строке 3 на знак умножения, затем выберите Run Code / Run (Запуск кода), чтобы проверить вывод. Вы должны увидеть 36. Вы также можете снова начать отладку и использовать Пошаговое выполнение, чтобы проверить исправленное значение.

price = 12
quantity = 3
total = price * quantity
print(total)

Если отладка не приостанавливается, где вы ожидаете

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

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