Utilizo emacs para todas mis necesidades de edición de código. Por lo general, usaré Mx compile para ejecutar mi versión de prueba que, diría, me proporciona aproximadamente el 70% de lo que debo hacer para mantener el código actualizado. Sin embargo, últimamente me he estado preguntando cómo podría ser posible utilizar Mx pdb en ocasiones en las que sería bueno llegar a un punto de interrupción e inspeccionar las cosas.Emacs: métodos para depurar python
En mi Google, he encontrado some things que sugieren que esto es útil/posible. Sin embargo, no he logrado que funcione de una manera que entiendo completamente.
No sé si es la combinación de buildout + appengine que podrían estar haciendo más difícil, pero cuando trato de hacer algo como
M-x pdb
Run pdb (like this): /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
Dónde .../bin/python es el intérprete buildout hace con la ruta establecida para todos los huevos.
~/bin/AP es un simple script para poner en pdb.main utilizando el actual intérprete de python
HellooKitty:hydrant twillis$ cat ~/bin/pdb
#! /usr/bin/env python
if __name__ == "__main__":
import sys
sys.version_info
import pdb
pdb.main()
HellooKitty:hydrant twillis$
.../bin/devappserver es el guión dev_appserver que la receta hace buildout para el proyecto gae y .../piezas/boca de la aplicación es la ruta de acceso al app.yaml
estoy presentó por primera vez con un mensaje
Current directory is /Users/twillis/bin/
C-c C-f
no pasa nada, pero
HellooKitty:hydrant twillis$ ps aux | grep pdb
twillis 469 100.0 1.6 168488 67188 s002 Rs+ 1:03PM 0:52.19 /usr/local/bin/python2.5 /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
twillis 477 0.0 0.0 2435120 420 s000 R+ 1:05PM 0:00.00 grep pdb
HellooKitty:hydrant twillis$
algo está pasando
C-x [space]
informará de que un punto de interrupción se ha establecido. Pero no puedo hacer que las cosas funcionen.
Parece que me falta algo obvio aquí. ¿Soy yo?
Entonces, ¿vale la pena la depuración interactiva en emacs? ¿Es posible la depuración interactiva de una aplicación appengine de google? ¿Alguna sugerencia sobre cómo puedo hacer que esto funcione?
Esta es una pregunta para [Desbordamiento de pila] (http://www.stackoverflow.com). –