Il giorno mar, 11/05/2010 alle 17.28 +0200, Alessandro Re ha scritto: > Ciao a tutti, > tornato dalla Pycon Quattro mi son messo a fare un programmillo in > python che fa uso di algoritmi genetici. > Ho un piccolo problema: ogni tanto, abbastanza raramente, il programma > si blocca su una return (o cosi' pare). > > Purtroppo non sono affatto esperto di python e il debugging mi e' > tutt'ora oscuro... L'unica cosa che ho scoperto, per ora, usando delle > print, e' che prima della chiamata di una certa funzione, il tutto si > blocca. > Ho provato con pydev, pdb ed idle, ma non riesco a venirne a capo: > purtroppo non riesco ad interrompere l'esecuzione nel punto in cui si > blocca (tipo con Ctrl-C), e sicuramente non posso usare dei breakpoint > perche', nella ipotesi media, devo fare 2000 iterazioni prima che si > blocchi... A volte si blocca subito, a volte non si blocca proprio. > > Sto usando Python 2.6.2, so che non e' la versione piu' aggiornata, ma > per ora devo accontentarmi... > > Potreste consigliarmi su come procedere? Un tool che mi permetta di > fermare il debug nel momento in cui premo una sequenza di tasti, che > mi permetta di tornare indietro di qualche passo e vedere se ci sono > delle condizioni specifiche in cui si blocca? > > Il codice, senza commenti, saranno circa 100 righe, potrei copiarvelo > se necessario.
Nella mia ignoranza di una soluzione pulita, se fossi nella tua situazione probabilmente farei un try: chiamata_che_ogni_tanto_si_blocca() except KeyboardInterrupt: pass A questo punto, se ad esempio il tutto gira in un terminale interattivo, potrei, quando decido che "si è piantato", dare un Ctrl+C ed ispezionare le variabili che più mi aggradano. ciao Pietro _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python