giuseppe massimo bertani ha scritto:
Salve a tutti,
Sto sviluppando una applicazione wxPython suddivisa su diversi files.
Debugga oggi debugga domani, mi sono ritrovato i metodi delle classi pieni di
"print"
solo per vedere se tali metodi vengono richiamati e con che ordine.
Ho visto che esiste un modulo trace, per cui mi immagino sia possibile fare la
stessa cosa
eliminando la maggior parte di questi print. Vorrei pero' limitare il
tracciamento alle sole classi e
funzioni che appartengono al mio applicativo (che hanno un proprio namespace)
evitando di tracciare tutte
le chiamate verso altri moduli, altrimenti non ci capisco piu' niente.
Un pò di codice scritto al volo e non testato a dovere (non avevo mai
usato trace prima).
Ho usato Twisted perchè vengono chiamate moltissime funzioni.
import sys
from twisted.internet import reactor
localPath = __file__
def trace(frame, event, arg):
module = frame.f_globals['__name__']
path = frame.f_globals['__file__']
if path in localPath:
code = frame.f_code
print frame.f_lineno, code.co_name
print module, path
def foo():
print 'foo'
reactor.stop()
sys.settrace(trace)
reactor.callLater(1, foo)
reactor.run()
Saluti Manlio Perillo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python