Python 设置GAE Web App处理程序函数的跟踪

Python 设置GAE Web App处理程序函数的跟踪,python,google-app-engine,Python,Google App Engine,我习惯于使用以下范例来设置和结束python函数的跟踪: sys.settrace(traceFunction) someFunction() sys.settrace(None) 如果someFunction是一个函数,例如,在通过google app engine生成web app的过程中,在处理程序中定义的post,则此模型似乎失败。由于上述函数从未在代码中具体实例化,因此我不确定如何在其上设置跟踪。有谁能告诉我,在这种情况下,有哪种方法可以获得与上述模型相同的结果?您到底想跟踪什么?使

我习惯于使用以下范例来设置和结束python函数的跟踪:

sys.settrace(traceFunction)
someFunction()
sys.settrace(None)

如果someFunction是一个函数,例如,在通过google app engine生成web app的过程中,在处理程序中定义的post,则此模型似乎失败。由于上述函数从未在代码中具体实例化,因此我不确定如何在其上设置跟踪。有谁能告诉我,在这种情况下,有哪种方法可以获得与上述模型相同的结果?

您到底想跟踪什么?使用装饰器可能更容易…我正在尝试将跟踪用作我正在构建的调试器的一部分。理想情况下,这个调试器可以做一些事情,包括跟踪局部变量的范围,以帮助生成像Daikon这样的断言,并跟踪每行的读取次数。我绝对不是一个有经验的程序员,也不知道如何使用装饰器生成跟踪。你能给我举个例子吗?为此,你肯定需要使用sys.settrace!您可能想在问题中添加更多信息,了解您在寻找什么以及traceFunction是如何定义的。从你的问题来看,这不是100%清楚。tracef函数相对简单。我所需要它能够做的就是通过与frame.f_locals、frame.f_lineno和frame.f_code.co_name分别相当的方式收集局部变量的值、行号和当前正在执行的函数的名称。我可以从inspect.currentframe之类的东西中获取这些值,但这会使生成我想要的调试器比生成跟踪要困难得多。