[Python] Uso di PDB.

Marco De Paoli depaolim a gmail.com
Gio 18 Apr 2013 09:55:45 CEST


Il giorno 18 aprile 2013 09:48, Gabriel Battaglia (Kriyaban) <
iz4apu a libero.it> ha scritto:

> "Apro dunque l'interprete:>>>Importo PDB:>>> import pdb>>>Importo il mio
> modulo:>>> import batnavIl modulo parte, lo uso finchè non lo porto ad un
> crash"Traceback (most recent call last):File "<stdin>", line 1, in
> <module>File "batnav.py", line 350, in <module>AzioniColpo()File
> "batnav.py", line 275, in AzioniColpoAffonda()File "batnav.py", line 41, in
> Affondadel Navi[Navi.index(LN)]**ValueError: 1 is not in list>>> "A
> questo punto... Penso di aver capito di dover invocare la funzione pm del
> modulo pdb, è giusto?>>> pdb.pm()"> c:\python27\gb\batnav.py(41)**Affonda()->
> del Navi[Navi.index(LN)](Pdb) "A questo punto vorrei vedere il valore che
> ha causato l'out of index. In questo caso è stato riportato dal Traceback e
> so già che è 1, ma giusto per imparare.>>> LN(Pdb) Perchè? Non dovrebbe
> rispondere 1?Provo pp LNNone(Pdb)Uhm, sono un po confuso, ma LN non era la
> causa del crash?Ok, come faccio invece, se volessi testare il funzionamento
> di batnav.py sin dalla sua prima istruzione, non post_mortem. Come faccio a
> caricarlo nell'interprete senza che venga eseguito in
> automatico?Consapevole dell'ingenuità di queste domande, resto in attesa di
> qualche spunto...Come sempre grazie per la vostra gentilezza e pazienza.G.
>

Ciao Gabriel,
si è persa tutta la formattazione della tua sessione su pdb, in particolare
si sono persi tutti gli a-capo
per cui faccio un po' fatica a capire il problema

ti segnalo comunque un altro approccio che forse può esserti utile, basta
setare un break-point inserendo nel programma l'istruzione seguente:

import pdb; pdb.set_trace()

in questo modo potrai lanciare normalmente il programma e poi si fermerà da
solo al break-point aprendoti automaticamente una sessione di debug

insomma, è un modo per evitare di andare passo passo a partire dall'inizio
del programma

Marco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130418/c263a440/attachment.html>


Maggiori informazioni sulla lista Python