Rastreando la ejecucion de codigo Python

Una de las virtudes de Python es que permite generar fácilmente una traza del código ejecutado.

Para casos simples y rápidos, basta cargar el módulo trace:

python -m trace -t script.py argumentos

Si quieres hilar más fino (por ejemplo, rastrear lo que hace Django), puedes añadir algo como lo siguiente al punto de entrada de la aplicación (en el caso de Django, a la vista que te interese, dentro de app)


import linecache
import syslog
import sys

def tracer(frame, event, arg):
if event == "line":
lineNumber = frame.f_lineno
filename=""
name=""
try:
filename = frame.f_globals["__file__"]
name = frame.f_globals["__name__"]
except:
pass

line = linecache.getline(filename, lineno)

syslog.syslog("%s:%s: %s" % (name, lineNumber, line.rstrip()))
return tracer

sys.settrace(tracer)

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *