Pagina 1 di 1

risolto - uso PDB per test Python - come impostare break

Inviato: venerdì 22 maggio 2015, 18:45
da maresama
Sto provando PDB per evitare l'uso dei print
Ho provato su questo (insensato ma solo di prova!) programmino
Funziona bene ma per impostare un break occorre dare il comando b con relativo numero riga. Questo è poco pratico, specialmente perchè correggendo i numeri variano
Come è possibile mettere un comando di break gia nelle istruzioni? (come farei con un print)
In pratica ad ogni arresto, dopo un controllo, potrei dare 'c' ed arrivare al successivo break

Codice: Seleziona tutto

#!/usr/bin/env python   
# -*- coding: utf-8 -*-
import pdb
pdb.set_trace()    # inizia   
z=[1,3,6,8]
for x in z:
    print x
#                        qui vorrei un break
a=71
b=a
#                        qui vorrei un break
c=b
d=c
e=d
print e

Re: uso PDB per test Python - come impostare break

Inviato: venerdì 22 maggio 2015, 22:02
da cortinico
Ciao,

Devi utilizzare il comando

Codice: Seleziona tutto

pdb.set_trace
per impostare i break che vuoi tu. In questo caso all'avvio non serve, ma lo devi introdurre nei posti dove hai messo un commento.

Codice: Seleziona tutto

import pdb
# inizia   
z=[1,3,6,8]
for x in z:
    print x
pdb.set_trace()#                        qui vorrei un break
a=71
b=a
pdb.set_trace() #                       qui vorrei un break
c=b
d=c
e=d
print e
Così facendo l'esecuzione si interromperà e potrai utilizzare il debugger.
Se hai bisogno di una lista veloci di comandi per PDB: http://web.stanford.edu/class/physics91 ... mmands.pdf

Re: uso PDB per test Python - come impostare break

Inviato: venerdì 22 maggio 2015, 23:37
da maresama
Credevo che non si potesse ripetere pdb.set
Avrei dovuto provare...!
Come hai suggerito va benissimo
Grazie.