python: en pdb, ¿es posible habilitar un punto de interrupción solo después de que n recuentos de hits?

En eclipse (y en varios otros IDE también) hay una opción para activar el punto de interrupción solo después de un cierto número de hits. En el pdb de Python, hay un recuento de hits para los puntos de interrupción y el comando de condition . ¿Cómo los conecto?

Los puntos de interrupción condicionales se pueden establecer de 2 maneras:

PRIMERO: especifique la condición cuando el punto de interrupción se establece con la break

 python -m pdb pdb_break.py > .../pdb_break.py(7)() -> def calc(i, n): (Pdb) break 9, j>0 Breakpoint 1 at .../pdb_break.py:9 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at .../pdb_break.py:9 stop only if j>0 (Pdb) continue i = 0 j = 0 i = 1 > .../pdb_break.py(9)calc() -> print 'j =', j (Pdb) 

SEGUNDO: la condición también se puede aplicar a un punto de interrupción existente mediante el comando de condition . Los argumentos son el ID de punto de interrupción y la expresión.

 $ python -m pdb pdb_break.py > .../pdb_break.py(7)() -> def calc(i, n): (Pdb) break 9 Breakpoint 1 at .../pdb_break.py:9 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at .../pdb_break.py:9 (Pdb) condition 1 j>0 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at .../pdb_break.py:9 stop only if j>0 (Pdb) 

fuente

ACTUALIZACIÓN: escribí un código más sencillo.

 import pdb; pdb.set_trace() for i in range(100): print i 

depuración en la terminal

 $ python 1.py > /code/python/1.py(3)() -> for i in range(100): (Pdb) l 1 2 import pdb; pdb.set_trace() 3 -> for i in range(100): 4 print i [EOF] (Pdb) break 4, i==3 Breakpoint 1 at /code/python/1.py:4 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at /code/python/1.py:4 stop only if i==3 (Pdb) c 0 1 2 > /Users/srikar/code/python/1.py(4)() -> print i (Pdb) pi 3 

Encontré la respuesta. En realidad, es bastante fácil, hay un comando llamado ignore , digamos que quiere interrumpir el punto de interrupción en la línea 9 después de 1000 hits:

 b 9 

Salida: Breakpoint 2 at ...

 ignore 1 1000 

Salida: Will ignore next 1000 crossings of breakpoint 1.

  c