2010-02-24 3 views

ответ

41

Тип 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().

+0

Использование pdbtrack (через оболочку M-x), вероятно, является лучшим решением. Это намного легче контролировать каталоги и среды таким образом. –

+8

@matt с Mx pdb вы можете установить точки останова в исходных файлах, а курсор отобразит текущую позицию выполнения при прохождении: http://twistedmatrix.com/documents/current/core/howto/debug-with-emacs .html –

+0

Графическое пособие можно найти здесь: http://sunnyeves.blogspot.com/2011/04/debugging-python-on-emacs-ide.html – gt6989b

19

Для меня, мне нужно заменить по умолчанию «PDB» с

python -m pdb myscript.py 
7

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

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

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

+2

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

Смежные вопросы