Articles of pdb

¿Cómo salir de ipdb en la depuración post-mortem?

Me gusta inspeccionar el error en un script de Python usando: $ python3 -m pdb my_script.py Esto me deja en un indicador de pdb desde donde puedo continuar la ejecución, y cuando se produce un error, puedo inspeccionar las variables y luego salir de la ejecución del script para volver a mi shell. Intenté lo […]

¿Cómo depurar el CLI de python que toma stdin?

Estoy tratando de depurar un CLI de Python que escribí que puede tomar sus argumentos de stdin. Un caso de prueba simple tendría la salida de echo “test” | python mytool.py ser equivalente a la salida de python mytool.py test Me gustaría depurar algunos problemas con esta herramienta, así que intenté ejecutar esto: echo “test” […]

Unidad de prueba de Python: ejecutar automáticamente el depurador cuando falla una prueba

¿Hay una manera de iniciar automáticamente el depurador en el punto en el que falla un test de unidad? Ahora mismo estoy usando pdb.set_trace () manualmente, pero esto es muy tedioso, ya que necesito agregarlo cada vez y sacarlo al final. Por ejemplo: import unittest class tests(unittest.TestCase): def setUp(self): pass def test_trigger_pdb(self): #this is the […]

punto de interrupción condicional usando pdb

Parece que me estoy perdiendo algo extremadamente simple, estoy intentando establecer un punto de interrupción en mi código de Python usando: if(some condition): pdb.set_trace() Mi error en el código viene después de un gran número de iteraciones … difícil de depurar con la impresión, etc. Puedo imprimir cosas cuando llega la condición, pero me gustaría […]

¿Cómo ves una variable en pdb?

Estoy depurando una secuencia de comandos de python, y quiero ver una variable para un cambio (al igual que usted puede ver una dirección de memoria en gdb). ¿Hay alguna forma de hacer esto?

‘n’ en pdb me mueve dentro del método pdb.set_trace ()

Estoy tratando de aprender pdb usando este tutorial al que se hace referencia en otra pregunta de stackoverflow , y estoy en el tercer paso de la sección de Introducción. In [12]: %paste # epdb1.py — experiment with the Python debugger, pdb import pdb a = “aaa” pdb.set_trace() b = “bbb” c = “ccc” final […]

¿Es posible entrar en ipython desde el código?

Para mis necesidades de depuración, pdb es bastante bueno. Sin embargo, sería mucho mejor (y útil) si pudiera entrar en ipython . ¿Es esto posible?

¿Cuál es la forma correcta de depurar en la notebook iPython?

Como sé, %debug magic puede hacer depuración dentro de una celda. Sin embargo, tengo llamadas de función a través de múltiples celdas. Por ejemplo, In[1]: def fun1(a) def fun2(b) # I want to set a breakpoint for the following line # return do_some_thing_about(b) return fun2(a) In[2]: import multiprocessing as mp pool=mp.Pool(processes=2) results=pool.map(fun1, 1.0) pool.close() pool.join […]

Esté atento a un cambio variable en python

Hay un gran proyecto de Python donde un atributo de una clase simplemente tiene un valor incorrecto en algún lugar. Debería ser sqlalchemy.orm.attributes.InstrumentedAttribute, pero cuando ejecuto pruebas es un valor constante, digamos cadena. ¿Hay alguna forma de ejecutar el progtwig python en modo de depuración y ejecutar alguna comprobación (si la variable cambió de tipo) […]

Cómo ejecutar sentencias multilínea dentro del propio depurador de Python (PDB)

Así que estoy ejecutando un script de Python en el que estoy llamando al depurador de Python, PDB escribiendo: import ipdb; ipdb.set_trace() (La versión de PDy de iPython, aunque no creo que haga una diferencia, solo la uso para la salida de color). Ahora, cuando llego al depurador, quiero ejecutar una instrucción multilínea, como una […]