[Python] trace
Manlio Perillo
manlio_perillo a libero.it
Mer 4 Apr 2007 15:52:08 CEST
Manlio Perillo ha scritto:
> 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__']
>
Al posto di usare __file__, puoi usare:
code.co_filename
Se il modulo appartiene alla libreria standard non viene mostrato il
path assoluto ma solo il nome del file (non mi sembra sia una cosa
documentata, comunque).
Infine, __file__ non dovrebbe essere definito per moduli linkati
staticamente all'interprete (ma su piattaforme usuali non credo sia mai
il caso).
Saluti Manlio Perillo
Maggiori informazioni sulla lista
Python