Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Внутри CPython гид по интерпретатору Python.pdf
Скачиваний:
4
Добавлен:
07.04.2024
Размер:
8.59 Mб
Скачать

 

Отладчик Visual Studio    307

 

 

КОМАНДА

НАЗНАЧЕНИЕ

py-print

Поиск и вывод переменной Python

py-bt

Вывод трассировки стека Python

py-locals

Вывод результата locals()

py-up

Переход на один кадр Python вниз

py-down

Переход на один кадр Python вверх

py-list

Вывод исходного кода Python для текущего кадра

ОТЛАДЧИК VISUAL STUDIO

В поставку Microsoft Visual Studio входит визуальный отладчик. Это мощный инструмент, который поддерживает визуализацию стека кадров, список отслеживания, возможность вычисления выражений и т. д.

Чтобы использовать его, откройте Visual Studio и файл решения PCBuild pcbuild.sln.

Добавление точек останова

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

Появившийся красный круг показывает, что в строке установлена точка останова:

Книги для программистов: https://t.me/booksforits

308    Отладка

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

Запуск отладчика

Выберите в меню команду Debug Start Debugger или нажмите F5.

Visual Studio запускает новую среду выполнения Python и REPL.

Работа с точками останова

Когда программа достигает точки останова, вы получаете возможность выполнять код пошагово при помощи клавиш со стрелками или следующих горячих клавиш:

zz Выполнение с заходом в функции: F11 zz Выполнение с обходом функций: F10 zz Выход: Shift + F11

Стек вызовов будет отображаться снизу. Выбирая кадры в стеке, можно изменять навигацию и просматривать переменные в других кадрах:

Книги для программистов: https://t.me/booksforits

Отладчик CLion    309

В редакторе кода можно выделить любую переменную или выражение, чтобы просмотреть их значение; также можно щелкнуть правой кнопкой мыши и выбрать Add Watch. Команда добавляет переменную в окно Watch, в котором для упрощения отладки можно быстро просмотреть, что хранит переменная:

ОТЛАДЧИК CLION

В поставку IDE CLion включен мощный визуальный отладчик. Он работает с LLDB в macOS и GDB в macOS, Windows и Linux.

Чтобы настроить его, выполните команду Preferences и выберите раздел Build, Execution, Deployment Toolchains:

Книги для программистов: https://t.me/booksforits

310    Отладка

В окне есть выпадающий список для выбора целевого отладчика. Выберите вариант, подходящий для вашей операционной системы:

zz macOS: Bundled LLDB

zz Windows или Linux: Bundled GDB

ВАЖНО

LLDB и GDB пользуются расширениями cpython_lldb и python-gdb соот­ ветственно.Отом,как установитьивключитьэтирасширения,рассказано ранее в этой главе, в разделах о LLDB и GDB.

Отладка make-приложений

В CLion 2020.2 можно скомпилировать и отладить любой проект на базе make-файлов, включая CPython.

Книги для программистов: https://t.me/booksforits

Отладчик CLion    311

Чтобы запустить отладку, выполните последовательность действий в разделе «Настройка JetBrains CLion» главы «Настройка среды разработки».

После выполнения этих действий появляется цель Make Application. Выберите в меню команду Run Debug, чтобы запустить процесс и приступить к отладке.

Также возможно подключить отладчик к работающему процессу CPython.

Подключение отладчика

Чтобы подключить отладчик CLion к работающему процессу CPython, выберите команду Run Attach to Process.

На экране появляется список выполняемых процессов. Найдите нужный процесс Python и выберите команду Attach. Начинается сеанс отладки.

ВАЖНО

Если у вас установлен плагин Python, то процесс Python будет отобра­ жаться сверху. Не выбирайте его!

Здесь используется отладчик Python, а не отладчик C:

Вместо этого прокрутите дальше вниз до списка Native инайдите нужный процесс Python.

Создание точек останова

Чтобы поставить точку останова, перейдите к нужному файлу и строке, а затем щелкните по полю между номером строки и кодом. Появится красный кружок, показывающий, что точка поставлена:

Книги для программистов: https://t.me/booksforits

312    Отладка

Щелкните правой кнопкой мыши по точке останова, чтобы определить условие:

Чтобы просмотреть все текущие точки останова и выполнить с ними нужные операции, выберите в меню команду Run View Breakpoints:

Книги для программистов: https://t.me/booksforits

Отладчик CLion    313

Точки останова можно включать и отключать: например, при достижении другой точки останова.

Работа с точками останова

При достижении точки останова CLion открывает панель Debug. На ней отображается стек вызовов с информацией о том, где сработала точка. Вы можете переключаться между кадрами в стеке вызовов.

Далее в стеке идут локальные переменные. Вы можете раскрывать свойства указателей и структур типов; на панели выводятся значения простых типов:

В точке останова можно вычислять выражения, чтобы получить больше информации о локальных переменных. Окно Evaluate открывается командой

Run Debugging Actions Evaluate Expression или кнопкой в окне Debug.

Когда вы начинаете вводить выражение в окне Evaluate, механизм автозаполнения CLion предлагает возможные варианты свойств и типов:

Также поддерживается приведение типов выражений. Например, можно преобразовать PyObject* в любой существующий тип, скажем в PyFloatObject*:

Книги для программистов: https://t.me/booksforits