in Eclipse (e molti di altri IDE come bene) c'è un'opzione per attivare il punto di interruzione solo dopo un certo numero di colpi. In Python di pdb
v'è un numero di passaggi per i punti di interruzione e non v'è il comando condition
. Come li connetto?python: in pdb è possibile abilitare un breakpoint solo dopo n conteggi di hit?
14
A
risposta
10
ho trovato la risposta. E 'abbastanza facile in realtà, c'è un comando chiamato ignore
diciamo che si vuole rompere al punto di interruzione in linea 9 dopo 1000 colpi:
b 9
uscita: Breakpoint 2 at ...
ignore 1 1000
uscita: Will ignore next 1000 crossings of breakpoint 1.
c
13
condizionale punti di interruzione può essere impostato in 2 modi -
PRIMO: specificare la condizione in cui il punto di interruzione è impostato utilizzando break
python -m pdb pdb_break.py
> .../pdb_break.py(7)<module>()
-> 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)
SECONDO: condizione può anche essere applicato a una esistente punto di interruzione utilizzando il comando condition
. Gli argomenti sono l'ID del punto di interruzione e l'espressione.
$ python -m pdb pdb_break.py
> .../pdb_break.py(7)<module>()
-> 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)
UPDATE: Ho scritto un codice più semplice
import pdb; pdb.set_trace()
for i in range(100):
print i
debug sul terminale -
$ python 1.py
> /code/python/1.py(3)<module>()
-> 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)<module>()
-> print i
(Pdb) p i
3
Problemi correlati
- 1. PDB non si fermerà al breakpoint
- 2. È possibile fare un passo indietro in pdb?
- 3. È possibile il rilevamento di hit HTML5?
- 4. Salta il prossimo n breakpoint in lldb
- 5. Quando è hash (n) == n in Python?
- 6. È possibile creare un mdb mono da un pdb .net?
- 7. n ** n ** n euristica in Python
- 8. È possibile (ri) creare un file PDB dopo aver creato una DLL
- 9. Debug Python con Pdb
- 10. conteggi di riferimento in un'estensione Python C
- 11. Come abilitare mod_wsgi dopo installazione di pip
- 12. Python pdb (debugger) disp equivalente?
- 13. Introduzione al debugger Python, pdb
- 14. Bumping un Amazon Mechanical Turk HIT
- 15. Abilitare un segno di spunta solo in checkboxGroupInput
- 16. È possibile abilitare Keep-alive con un bilanciamento del carico?
- 17. Un array di lunghezza N può contenere valori 1,2,3 ... N^2. È possibile ordinare in tempo O (n)?
- 18. file pdb sta lavorando dopo PostSharp
- 19. SQL - Dammi 3 hit per ogni tipo solo
- 20. Python: è possibile testare solo funzioni specifiche con doctest in un modulo?
- 21. In Visual Studio, posso inserire i breakpoint nel codice per i quali ho solo i simboli di debug?
- 22. Come cambio un valore mentre eseguo il debug di python con pdb?
- 23. Come è possibile utilizzare raw_input() in un hook Git Python?
- 24. Quando è possibile abilitare CORS in modo sicuro?
- 25. Python: str.split() - è possibile specificare solo il parametro "limite"?
- 26. È possibile installare Fabric (Python) in Virtualenv? Ottenere un errore
- 27. È possibile abilitare Cross Site Scripting (XSS) in Safari mobile?
- 28. È possibile eseguire python SimpleHTTPServer solo su localhost?
- 29. È possibile ereditare un python @classmethod?
- 30. È possibile ridimensionare un array C++ dopo l'inizializzazione?
c'è, invece di 'j', una variabile che contiene il numero di risultati per questo punto di interruzione? – zenpoy
'j' è l'iterazione del loop corrente. cosa intendi con "hit count per questo breakpoint"? –
Grazie, ho trovato la risposta .. – zenpoy