Cómo usar traceit para informar variables de entrada de función en el seguimiento de pila

He estado usando el siguiente código para rastrear la ejecución de mis programas:

import sys
import linecache
import random

def traceit(frame, event, arg):
    if event == "line":
        lineno = frame.f_lineno
        filename = frame.f_globals["__file__"]
        if filename == "<stdin>":
            filename = "traceit.py"
        if (filename.endswith(".pyc") or
            filename.endswith(".pyo")):
            filename = filename[:-1]
        name = frame.f_globals["__name__"]
        line = linecache.getline(filename, lineno)
        print "%s:%s:%s: %s" % (name,  lineno,frame.f_code.co_name , line.rstrip())
    return traceit


def main():
    print "In main"
    for i in range(5):
        print i, random.randrange(0, 10)
    print "Done."

sys.settrace(traceit)
main()

Usando este código, o algo similar, ¿es posible informar los valores de ciertos argumentos de función? En otras palabras, el código anterior me dice "qué" funciones se llamaron y me gustaría saber "cuáles" son los valores correspondientes de las variables de entrada para esas llamadas de función.

Gracias por adelantado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta