[pyar] introspección para debuguear un metodo
QliX=D! [aka EHB]
qlixed en gmail.com
Jue Mayo 17 20:41:49 ART 2012
2012/5/14 Sebastian Bassi <sebastian.bassi en globant.com>:
> ¿Hay alguna manera de saber que función o método está llamando a otro?
> Supongamos que tengo
>
> class A():
> def m1():
> print "m1"
> print "Fui llamado por", XXXX
>
>
> y quiero enterarme cada vez que se invoca m1, desde donde se lo hace.
> ¿es posible?
Fijate si te sirven estas funciones, yo las tengo metidas en un
"debug_helpers.py":
import sys
def whoami():
t = """XtraDebugInfo:
fname: {0}
fline: {1}
ffile: {2}
""".format(sys._getframe(1).f_code.co_name,
sys._getframe(1).f_lineno, sys._getframe(1).f_code.co_filename)
return t #sys._getframe(1).f_code.co_name
def callersdata():
t = """XtraDebugInfo:
fname: {0}
fline: {1}
ffile: {2}
""".format(sys._getframe(2).f_code.co_name,
sys._getframe(2).f_lineno, sys._getframe(2).f_code.co_filename)
return t #sys._getframe(2).f_code.co_name
def callersname():
return sys._getframe(2).f_code.co_name
def callerslineno():
return str(sys._getframe(2).f_lineno)
Saludos.
-EHB-
More information about the pyar
mailing list