Articles of pdb

PDB.run – reiniciando una sesión pdb

Soy relativamente nuevo en python y pdb, pero tengo mucha experiencia con gdb. Mi problema es que si establezco una serie de puntos de interrupción en mi código en algún momento, desearé cambiar algo y volver a ejecutar mi sesión de depuración conservando estos puntos de interrupción. Sin embargo, al ingresar “ejecutar” en mi sesión […]

Error del nombre global de la función python pdb lambda

Estaba probando una solución utilizando pdb.set_trace() para asegurarme de que funcionaba de la manera que esperaba antes de implementarla y seguí recibiendo un error extraño. (Pdb) test = [1,2,3,4,4,3,2,1] (Pdb) max(range(len(test)),key=lambda i: test[i]) *** NameError: global name ‘test’ is not defined Así que me mudé a mi máquina local para asegurarme de que pudiera reproducir […]

¿Cómo hacer que pdb reconozca que la fuente ha cambiado entre ejecuciones?

Por lo que puedo decir, pdb no reconoce cuando el código fuente ha cambiado entre “ejecuciones”. Es decir, si estoy depurando, observo un error, corríjalo y vuelva a ejecutar el progtwig en pdb (es decir, sin salir de pdb), pdb no volverá a comstackr el código. Seguiré depurando la versión anterior del código, incluso si […]

Emacs python-mode: Métodos abreviados de teclado para la depuración paso a paso de pdb

Me preguntaba si hay una manera de asociarse: n RET (siguiente) p RET (anterior) c RET (continuar) Cx SPC RET (set/clear breakpoint) con teclas de función F1 – F12 u otros atajos de teclado. La idea es emular los atajos de teclado que tienen otros IDE para la depuración (por ejemplo, Visual Studio, MATLAB, etc.). […]

Obtener referencia a la excepción actual

$ ./runtests.py -v tests/managers/test_customer.py:CustomerManagerTest.test_register_without_subscription –ipdb … test_register_without_subscription (tests.managers.test_customer.CustomerManagerTest) … – TRACEBACK ——————————————————————– Traceback (most recent call last): File “/usr/lib/python2.7/unittest/case.py”, line 331, in run testMethod() File “*****/tests/managers/test_customer.py”, line 198, in test_register_without_subscription 1/0 ZeroDivisionError: integer division or modulo by zero ——————————————————————————– > *****/tests/managers/test_customer.py(198)test_register_without_subscription() 197 def test_register_without_subscription(self): –> 198 1/0 199 … ipdb> import sys ipdb> sys.exc_info() (, […]

‘NameError: el nombre global no está definido’ en pdb, para el diccionario que existe

Me he encontrado con un problema con los ámbitos en una función lambda . Puedo enviar con éxito foo a stdout pero aparece un error cuando uso max() incluyendo un lambda . Ver código simplificado a continuación … En general, estoy tratando de encontrar el mayor valor para un budget clave nested dentro de un […]

Cómo depurar complementos sublimes durante el desarrollo

Quiero depurar mi plugin con pdb pero no funciona. Me sale estos errores Traceback (most recent call last): File “./sublime_plugin.py”, line 362, in run_ File “./useIt.py”, line 14, in run for region in self.view.sel(): File “./useIt.py”, line 14, in run for region in self.view.sel(): File “.\bdb.py”, line 46, in trace_dispatch File “.\bdb.py”, line 65, in […]

¿Cómo fuerzo a Matplotlib a dibujar mientras estoy en el depurador de ipdb en Spyder (o cualquier otro depurador)?

EDITAR Lamentablemente, por el momento esto no es posible. Descubrí que es un error en Spyder . Los desarrolladores todavía están descubriendo cómo abordar esto . Gol Visualice los datos mientras se depura el código (¡y también quiero usar Spyder!). Intento n. ° 1: ejecute foo.bar desde IPython desde Spyder Crea un archivo llamado foo.py […]

¿Es posible dar un paso atrás en pdb?

Después de presionar n para evaluar una línea, quiero regresar y luego presionar s para ingresar a esa función si falla. es posible? Los docs dicen: j (ump) lineno Establecer la siguiente línea que se ejecutará. Solo disponible en el marco más inferior. Esto le permite retroceder y ejecutar el código nuevamente, o saltar hacia […]

pdb / ipdb para ruptura de Python en condición editable

Digamos que tengo codificado el siguiente código: for i in range(100): print i En general puedo agregar una línea al código como: for i in range(100): import ipdb;ipdb.set_trace() print i Sin embargo, ahora quiero depurarlo con la condición de i == 10 , y no quiero molestarme escribiendo c 10 veces en ipdb, ¿cómo debo […]