2010-02-24 17 views

Respuesta

41

Escriba M-x cd para cambiar el directorio a la ubicación del programa que desea depurar. Tipo M-x pdb. Se le preguntará con Run pdb (like this): pdb. Ingrese el nombre del programa (por ejemplo, test.py).

En el (Pdb), escriba help para obtener más información acerca de cómo usar pdb.

Alternativamente, se puede poner

import pdb 
pdb.set_trace() 

derecha dentro de su programa (por ejemplo test.py). Ahora escriba M-x shell para obtener un intérprete de comandos de shell. Cuando ejecutas tu programa, serás arrojado al pdb en el punto donde se ejecuta pdb.set_trace().

+0

El uso de pdbtrack (a través del shell M-x) es probablemente una mejor solución. Es mucho más fácil controlar directorios y entornos de esa manera. –

+8

@matt con Mx pdb puede establecer puntos de interrupción en archivos de origen y un cursor mostrará la posición de ejecución actual a medida que avanza: http://twistedmatrix.com/documents/current/core/howto/debug-with-emacs .html –

+0

Puede encontrar un tutorial gráfico aquí: http://sunnyeves.blogspot.com/2011/04/debugging-python-on-emacs-ide.html – gt6989b

19

Para mí, que necesitaba para reemplazar el "AP" por defecto con

python -m pdb myscript.py 
7

El realgud paquete (disponible en Melpa) apoya AP (entre tropecientos otros depuradores), y tiene una gran cantidad de interesantes características que El PDB de Emac no tiene.

El que más me gusta es el modo shortkeys. Una vez que comience a depurar un programa, puede presionar n, s, c etc. directamente en la ventana de origen, en lugar de tener que escribir estos comandos en el búfer de PDB. También es compatible con combinaciones de teclas de estilo Visual Studio con teclas de función (f10, f11, f5, etc.).

Después de instalar RealGUD, necesita ejecutar M-x load-feature realgud para cargarlo, y puede iniciar pdb con M-x realgud:pdb.

+2

Debo añadir que tengo un pequeño conflicto de intereses. Encontré el paquete tan ordenado que comencé a piratearlo, y ahora me convertí en un mantenedor conjunto. –