Articles of ipdb

¿Es posible eliminar un punto de interrupción establecido con ipdb.set_trace ()?

Utilicé ipdb.set_trace() en algún lugar de mi código Python. ¿Es posible ignorar este punto de interrupción utilizando un comando de IPDB? clear me dice que borró todos los puntos de ruptura, pero IPDB se detiene de nuevo cuando se topa con la línea con ipdb.set_trace() . disable 1 me dice: No breakpoint numbered 1 ignore […]

Uso de ipdb con el gud de emacs sin puntos de interrupción explícitos en el código

Estoy usando python.el Si elijo ‘depurador’ en el menú, y escribo ‘python -m pdb myfile.py’, se inicia gud, y en un marco dividido veo el indicador (Pdb) en uno y mi python el código en el otro con un símbolo en la primera línea, indicando que está listo para funcionar. Por ejemplo, ‘n’ pasa a […]

Posible error en el módulo pdb en Python 3 al usar generadores de listas

Después de ejecutar este código en Python 3: import pdb def foo(): nums = [1, 2, 3] a = 5 pdb.set_trace() foo() Las siguientes expresiones funcionan: (Pdb) print(nums) [1, 2, 3] (Pdb) print(a) 5 (Pdb) [x for x in nums] [1, 2, 3] pero la siguiente expresión falla: (Pdb) [x*a for x in nums] *** […]

Saliendo de Python Debugger ipdb

Utilizo ipdb bastante a menudo para saltar a un trozo de código aislado, es decir, es difícil escribir un script real que lo use. En su lugar, escribo un caso de prueba mínimo con burla y salto en él. Ejemplar para el flujo de trabajo: def func(): … import ipdb ipdb.set_trace() … def test_case(): … […]

Guardar puntos de interrupción en el archivo

Al depurar mi código de Python, ejecuto un script a través de ipdb desde la línea de comandos y establezco una serie de puntos de interrupción. Luego hago algunos cambios en uno o más módulos y vuelvo a ejecutar. Sin embargo, si simplemente uso los módulos de ejecución , no se recargan . Para asegurarme […]

Bdbquit elevado al depurar python

Recientemente, al agregar el depurador a mi código Python 2.7.10, recibo este mensaje: Traceback (most recent call last): File “/Users/isaachess/Programming/vivint/Platform/MessageProcessing/vivint_cloud/queues/connectors/amqplib_connector.py”, line 191, in acking_callback callback(message.body) File “/Users/isaachess/Programming/vivint/Platform/MessageProcessing/vivint_cloud/queues/consumble_message_queue.py”, line 32, in deserialized_callback self._callback_method(msg) File “/Users/isaachess/Programming/vivint/Platform/BusinessLogic/businesslogic/util/statsd_util.py”, line 95, in _time_func retVal = f(*args, **kwargs) File “/Users/isaachess/Programming/vivint/Platform/MessageProcessing/vivint_cloud/net/router.py”, line 226, in handle try: File “/Users/isaachess/Programming/vivint/Platform/MessageProcessing/vivint_cloud/net/router.py”, line 226, in handle […]

Convertir el objeto generador a la lista para la depuración

Cuando estoy depurando en Python usando IPython, a veces llego a un punto de ruptura y quiero examinar una variable que actualmente es un generador. La forma más sencilla en que puedo pensar en hacer esto es convertirlo en una lista, pero no tengo claro qué es una forma fácil de hacer esto en una […]

¿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 […]

El proceso de multiprocesamiento de Python es cancelado por la solicitud http si se importa ipdb

Parece que simplemente importar ipdb cuando se realiza una solicitud http envuelta en una instancia de multiprocessing Process hace que el progtwig salga sin errores ni mensajes. El siguiente script se comporta de forma muy extraña: from multiprocessing import Process import requests import ipdb def spawn(): print(“before”) r = requests.get(“http://wtfismyip.com”) print(“after”) Process(target=spawn).start() Si ejecuta esto […]