2024-09-28 21:20:37 发布
网友
我使用的是python hotshot profiler,它告诉我我的一个方法foo()被调用了N次,其中N是一个比我预期的大的数字。在
有没有方法可以更详细地了解foo()从何处调用?理想情况下,模块名称和行号的列表?在
(我不能只使用grep。我的代码库包含许多对foo()的调用,但我只想找到在探查器中设置的特定条件下实际执行的调用。)
一个选项是在foo()的顶部添加一些日志记录以指示从何处调用它,只需添加以下行:
foo()
def foo(): import traceback print 'foo called from', traceback.extract_stack(limit=2)[0][2] # previous foo() code
与其记录日志,您可能会发现维护一个全局字典更有用,在该字典中,您可以记录从不同位置调用foo()的次数。在
一个选项是在
foo()
的顶部添加一些日志记录以指示从何处调用它,只需添加以下行:与其记录日志,您可能会发现维护一个全局字典更有用,在该字典中,您可以记录从不同位置调用
foo()
的次数。在相关问题 更多 >
编程相关推荐