[pyar] Explorando los frames con pdb

SAn gringotumadre en gmail.com
Mie Sep 15 08:43:53 ART 2010


2010/9/15 Anthony Lenton <antoniolenton en gmail.com>:
> Buenas!
>
> 2010/9/14 Facundo Batista <facundobatista en gmail.com>:
>> Buenas!
>>
>> Corriendo las pruebas de unidad de un proyecto, encontré algo raro.
>> Más allá de eso raro, me di cuenta que no sé explorar con pdb el
>> stack.
>>
>> O sea, tengo este stack:
>>
>> (Pdb) print "\n".join(str((i, x)) for i, x in
>> enumerate(inspect.getouterframes(inspect.currentframe())))
>> (0, (<frame object at 0xa3f02f4>, '<stdin>', 1, '<module>', None, None))
>> ...
>
>> Obviamente, lo quiero no solo para explorar el valor de la variable,
>> sino para poder tirar cualquier expresión de Python en ese contexto.
>>
>> Ideas?
>
> Estoy seguro que hay *mucho* más para hacer, pero con estos shortcuts
> yo me las arreglo:
> w: mostrar el stack (where)
> l: mostrar un poco de contexto en el archivo de código actual (list)
> u: subir un nivel en el stack (up)
> d: bajar un nivel en el stack (down)
>
> Más allá de los viejos y conocidos:
> n: siguiente instrucción en este mismo nivel (next)
> s: avanzar un pasito de bytecode (step) - pensalo como "metete a esta
> debuggear esta función que estás por llamar"
> c: salir del debugger y seguir con el programa (continue)

Justo la semana pasada salio pdb en Python Module of the Week (Doug Hellmann):
   http://www.doughellmann.com/PyMOTW/pdb/

La verdad muy interesante, y todo con ejemplos.

SAn



More information about the pyar mailing list