Python es posible depurar sin modificar el código

Parece que la depuración del código Python es una tarea trivial, simplemente inserte las siguientes líneas para activar el depurador.

import pdb
pdb.set_trace()

Sí, lo intenté y funcionó muy bien. Es un depurador decente.

Pero, ¿es posible lanzar un programa de Python sin modificar, quizás especificando un archivo de texto, enumerando las ubicaciones de los puntos de interrupción? Así es como suelo hacerlo en Java o Flash.

preguntado el 09 de marzo de 12 a las 13:03

¿Existe alguna razón por la que no pueda utilizar un IDE? Eclipse + PyDev proporciona algunas herramientas bastante útiles para desarrollar y depurar. El motor de expresión en tiempo de ejecución combinado con puntos de interrupción me ha ahorrado incontables horas a solas. -

opción de interfaz gráfica de usuario - winpdb -

3 Respuestas

Guarde un archivo llamado .pdbrc en la misma carpeta que su archivo de secuencia de comandos. Ponga la información de su punto de interrupción:

b 3
b 5
b 70
b 89

Ejecute su script en pdb así:

python -m pdb myscript.py

y pdb recogerá e insertará sus puntos de interrupción. Desafortunadamente, no guardará los cambios que realice durante la depuración.

Alternativamente, puede especificarlos en la primera línea

(Pdb) b 3;;b 5;;b 70;;b 89

respondido 09 mar '12, 15:03

Como se explica en el documentación, puedes ejecutarlo con:

python -m pdb myscript.py

respondido 09 mar '12, 13:03

Si usa pytest, pytest --trace se detendrá en el primer caso de prueba.

Respondido el 29 de enero de 21 a las 18:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.