Depurar sus programas con el módulo pdb
Finalmente, ¿qué hacer cuando el programa no se comporta como estaba previsto? La solución más sencilla consiste en depurar el programa, es decir, cambiar a una consola que permita ejecutar el programa, aislar cada llamada de función, etapa por etapa y preguntar por el contenido de cada variable, hasta llegar a la llamada o a la variable que presenta el problema. Para instanciar un depurador en Python, hay que cargar el módulo pdb, que significa Python DeBugger.
El uso del depurador es muy sencillo: se puede hacer en línea de comandos o directamente en el programa que queremos depurar.
Hay varias maneras de depurar un programa y vamos a explicar la manera más larga, con el objetivo de aprovecharla para explicar las funcionalidades que el módulo pdb ofrece al desarrollador.
El programa que sirve de ejemplo y para depurar provoca una excepción dentro de un bucle for, y en particular cuando el índice del bucle es igual a 3. A continuación se muestra el código fuente del programa (Capitulo_4/pdb_1.py):
1 #!/usr/bin/env python3
2
3 def explosion(arg='kaboom!', elem=1):
4 elem = elem + 1
5 return elem / 0
6
7 for i in range(5):
8 if i == 3:
9 explosion(elem=i)
1. Depurar paso a paso
Para lanzar el programa desde el depurador, es necesario invocar a python3...