Comment déboguer des programmes python dans emacs?Déboguer des programmes python dans emacs
J'utilise python-mode.el
Je reçois comme référence pdb d'importation; pdb.set_trace();
mais ne savez pas comment l'utiliser.
Comment déboguer des programmes python dans emacs?Déboguer des programmes python dans emacs
J'utilise python-mode.el
Je reçois comme référence pdb d'importation; pdb.set_trace();
mais ne savez pas comment l'utiliser.
type M-x cd
pour changer le répertoire à l'emplacement du programme que vous souhaitez déboguer. Type M-x pdb
. Vous serez invité avec Run pdb (like this): pdb
. Entrez le nom du programme (par exemple test.py
). À l'invite (Pdb)
, tapez help
pour en savoir plus sur l'utilisation de pdb.
Vous pouvez mettre
import pdb
pdb.set_trace()
à l'intérieur de votre programme (par exemple test.py
). Tapez maintenant M-x shell
pour obtenir une invite de shell. Lorsque vous exécutez votre programme, vous serez déversé dans pdb
au point où pdb.set_trace()
est exécuté.
Pour moi, il me fallait remplacer la valeur par défaut "pdb" avec
python -m pdb myscript.py
Le paquet realgud
(disponible à partir de Melpa) soutient l'APB (parmi un gazillion autres débogueurs), et a une foule de fonctionnalités soignées qui Le PDB d'Emac n'a pas.
Celui que je préfère est le mode shortkeys. Une fois que vous commencez le débogage d'un programme, vous pouvez appuyer sur n
, s
, etc. c
droit dans la fenêtre source, au lieu d'avoir à taper ces commandes dans le tampon PDB. Il prend également en charge les raccourcis clavier de type Visual-Studio avec les touches de fonction (, f11
, f5
, etc.). Après l'installation de RealGUD, vous devez exécuter M-x load-feature realgud
pour le charger, et vous pouvez lancer pdb
avec M-x realgud:pdb
.
Je devrais ajouter que j'ai un petit conflit d'intérêts. J'ai trouvé le paquet tellement soigné que j'ai commencé à le pirater, et maintenant je suis devenu un co-mainteneur. –
L'utilisation de pdbtrack (via M-x shell) est probablement une meilleure solution. Il est beaucoup plus facile de contrôler les répertoires et les environnements de cette façon. –
@matt avec Mx pdb vous pouvez définir des points de rupture dans les fichiers source et un curseur montrera la position actuelle de l'exécution que vous traversez: http://twistedmatrix.com/documents/current/core/howto/debug-with-emacs .html –
Un tutoriel graphique peut être trouvée ici: http://sunnyeves.blogspot.com/2011/04/debugging-python-on-emacs-ide.html – gt6989b