Отладка программ python в emacs
Как отлаживать программы python в emacs?
Я использую python-mode.el
Я получаю ссылку, как import pdb; pdb.set_trace();
но не уверен, как его использовать.
Ответы
Ответ 1
Введите M-x cd
, чтобы изменить каталог на местоположение программы, которую вы хотите отлаживать.
Введите M-x pdb
. Вам будет предложено ввести Run pdb (like this): pdb
. Введите имя программы (например, test.py
).
В приглашении (Pdb)
введите help
, чтобы узнать, как использовать pdb.
В качестве альтернативы вы можете поместить
import pdb
pdb.set_trace()
прямо в вашей программе (например, test.py
). Теперь введите M-x shell
, чтобы получить приглашение оболочки. Когда вы запускаете свою программу, вы будете сброшены в pdb
в точке, где выполняется pdb.set_trace()
.
Ответ 2
Для меня мне нужно было заменить "pdb" по умолчанию на
python -m pdb myscript.py
Ответ 3
Пакет realgud
(доступный от MELPA) поддерживает PDB (среди других отладчиков gazillion) и содержит множество опрятных функций, которые Emac PDB не имеет.
Тот, который мне больше всего нравится, - это режим коротких клавиш. После того как вы начнете отлаживать программу, вы можете нажать n
, s
, c
и т.д. Прямо в исходном окне, вместо того, чтобы вводить эти команды в буфер PDB. Он также поддерживает сочетания клавиш Visual-Studio с функциональными клавишами (f10
, f11
, f5
и т.д.).
После установки RealGUD вам нужно запустить M-x load-feature realgud
, чтобы загрузить его, и вы можете запустить pdb
с помощью M-x realgud:pdb
.