Отладка программ на python в emacs - PullRequest
50 голосов
/ 24 февраля 2010

Как отлаживать программы на python в emacs?

Я использую python-mode.el

Я получаю ссылку как

import pdb; pdb.set_trace();

но не уверен, как его использовать.

Ответы [ 3 ]

46 голосов
/ 24 февраля 2010

Введите 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().

21 голосов
/ 03 октября 2013

Для меня мне нужно было заменить "pdb" по умолчанию на

python -m pdb myscript.py
13 голосов
/ 28 мая 2016

Пакет realgud (доступный от MELPA) поддерживает PDB (среди множества других отладчиков) и обладает множеством полезных функций, которых нет в Emac PDB.

Мне больше всего нравится режим коротких клавиш. Как только вы начнете отлаживать программу, вы можете нажать n, s, c и т. Д. Прямо в окне исходного кода, вместо того, чтобы вводить эти команды в буфере PDB. Он также поддерживает сочетания клавиш в стиле Visual-Studio с функциональными клавишами (f10, f11, f5 и т. Д.).

После установки RealGUD вам нужно запустить M-x load-feature realgud, чтобы загрузить его, и вы можете запустить pdb с M-x realgud:pdb.

...