¿Cómo usar import pdb en Python?

| Última modificación: 16 de enero de 2025 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

El módulo de import pdb en Python se convirtió en mi mejor amigo desde el día en que me encontré frente a un error en mi código y no sabía por dónde empezar a buscar. Este es un depurador interactivo que te permite detener la ejecución del programa justo donde lo necesitabas y analizar el estado de tus variables, flujos y errores en aras de encontrar soluciones rápidas. Veamos cómo puedes usar import pdb y algunas de sus generalidades.

import pdb

¿Qué es import pdb?

El módulo de import pdb es el depurador estándar de Python cuyo propósito es permitirnos inspeccionar nuestro código paso a paso, establecer puntos de interrupción o brearkpoints y ejecutar comandos interactivos para comprender el comportamiento de un programa. Digamos que es similar a tener una lupa para poder examinar el interior de tu código mientras es ejecutado.

Algunas de las cosas que puede hacer import pdb son:

  • Inspección de variables locales y globales.
  • Ejecución de sentencias Python en tiempo real.
  • Navegación por el stack de llamadas.
  • Configuración de puntos de interrupción condicionales.
  • Soporte para depuración post-mortem.

Deberías considerar esta opción porque permite:

  1. Identificar errores de manera eficiente al detenerte justo antes de que ocurran.
  2. Explorar el estado de tu aplicación en cualquier momento.
  3. Evitar dependencias de herramientas externas, ya que está integrado en la biblioteca estándar de Python.

¿Cómo usar import pdb: algunos ejemplos?

  • Configuración básica: Si quieres empezar a usar pdb, debes importarlo dentro de tu script y llamar a set_trace donde quieras pausar la ejecución. Veamos un ejemplo:
import pdb

def calcula_factorial(n):
if n < 0:
raise ValueError("El número debe ser mayor o igual a 0")
resultado = 1
for i in range(1, n + 1):
pdb.set_trace() # Punto de interrupción
resultado *= i
return resultado

print(calcula_factorial(5))

Cuando llegues al punto de interrupción, verás un prompt que indica que estás en modo depuración. Podrás ejecutar comandos como:

  • Inspeccionar variables con p nombre_variable.
  • Pasar al siguiente paso del código con n.
  • Continuar la ejecución con c.
  • Uso de breakpoint: despues de Python 3.7 puedes usar la función integrada breakpoint como una alternativa más sencilla a set_trace. El código que hicimos anteriormente quedaría así:
def calcula_factorial(n):
if n < 0:
raise ValueError("El número debe ser mayor o igual a 0")
resultado = 1
for i in range(1, n + 1):
breakpoint() # Punto de interrupción moderno
resultado *= i
return resultado

print(calcula_factorial(5))

Este enfoque es más limpio y fácil de recordar.

  • Depuración desde la línea de comandos: También puedes iniciar pdb desde la terminal para depurar un script directamente:
python -m pdb tu_script.py

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Esto detendrá la ejecución del programa en su primera línea. Desde ahí, puedes usar comandos interactivos para navegar y depurar.

Casos avanzados con import pdb

  • Depuración post-mortem: Si tu programa lanza alguna excepción, lo que puedes hacer es entrar en modo depuración post-mortem por medio del comando pm, así podrás analizar el estado del programa justo antes de que ocurriera el error, increible, ¿no? Veamos:
import pdb

try:
resultado = 1 / 0
except ZeroDivisionError:
pdb.pm()

En este caso, puedes inspeccionar el estado del programa en el momento del error.

  • Ejecución de funciones bajo control: este módulo también te permite ejecutar funciones específicas con control completo del depurador, por medio del comando run, así:
import pdb

def suma(a, b):
return a + b

pdb.run("suma(3, 5)")

Algunos comandos usados dentro de pdb

Algunos de los comandos que más vas a ver en pdb son:

  • List: Muestra el código alrededor de la línea actual.
  • Next: Ejecuta la siguiente línea de código.
  • Step: Entra en funciones llamadas por la línea actual.
  • Continue: Reanuda la ejecución hasta el siguiente punto de interrupción.
  • Print: Muestra el valor de una variable o expresión.
  • Break: Establece un punto de interrupción en una línea o función.
  • Quit: Finaliza la sesión de depuración.

Unos consejos antes de finalizar…

  1. Evita usar puntos de interrupción permanentes en producción. Asegúrate de eliminarlos antes de desplegar tu código.
  2. Combina pdb con herramientas de registro para obtener un panorama más completo.
  3. Crea un archivo de configuración llamado .pdbrc para personalizar comandos y alias que mejoren tu experiencia de depuración.

Si quieres acceder a la mejor formación y triunfar en el campo laboral, únete al bootcamp en programación inicial que tiene Keepcoding para ti, en donde te enseñaremos lo que necesitas para incursionar en el mercado laboral de manera fácil y rápida. ¡Apúntate y da el salto hacia un futuro lleno de oportunidades!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a programar desde cero

Full Stack JR. Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado