Comment déboguer les programmes python dans emacs?
J'utilise python-mode.el
Je reçois une référence comme
import pdb; pdb.set_trace();
mais je ne sais pas comment l'utiliser.
Tapez M-x cd
Pour changer le répertoire à l'emplacement du programme que vous souhaitez déboguer. Tapez M-x pdb
. Vous serez invité avec Run pdb (like this): pdb
. Saisissez le nom du programme (par exemple test.py
).
À l'invite (Pdb)
, Tapez help
pour savoir comment utiliser pdb.
Vous pouvez également mettre
import pdb
pdb.set_trace()
directement dans votre programme (par exemple test.py
). Tapez maintenant M-x Shell
Pour obtenir une invite du shell. Lorsque vous exécutez votre programme, vous serez transféré dans pdb
au point où pdb.set_trace()
est exécuté.
Pour moi, je devais remplacer le "pdb" par défaut par
python -m pdb myscript.py
Le paquet realgud
(disponible auprès de MELPA) prend en charge PDB (parmi un grand nombre d'autres débogueurs) et possède une multitude de fonctionnalités intéressantes que le PDB d'Emac n'a pas.
Celui que j'aime le plus est le mode shortkeys. Une fois que vous avez commencé à déboguer un programme, vous pouvez appuyer sur n
, s
, c
etc. directement dans la fenêtre source, au lieu d'avoir à taper ces commandes dans le tampon PDB. Il prend également en charge les liaisons de touches de style Visual-Studio avec des touches de fonction (f10
, f11
, f5
, etc).
Après avoir installé RealGUD, vous devez exécuter M-x load-feature realgud
pour le charger, et vous pouvez démarrer pdb
avec M-x realgud:pdb
.