好吧,这也许是个难题。我不想让你为我做所有的辛苦工作。我只是想得到一些好的建议和我应该从哪里开始。在
我正在编写几个python程序,但调试这些程序时遇到了麻烦。所以我想创建一个简单的调试函数来记录一些事情。在
我会这样使用它:
# Defined in random_function_definitios.py
def some_random_function():
a = 1 + 1
debug(a)
# More stuff
我想在调试中显示以下信息:
我已经看了inspect模块和frame内置对象。但我不太确定我的方向是否正确。在
谢谢你!在
您可以使用Python的标准日志记录工具。大量的数据都有一个日志记录-文档中提供了它们的完整列表:http://docs.python.org/library/logging.html#logrecord-attributes。您需要的是
funcName
,filename
,lineno
。要记录本地变量的转储,可以将其转换为内置函数locals()
的字符串输出,并将其用作日志消息。您只需使用记录器,如:并使用前面提到的格式属性为其配置适当的格式。所有这些都在基本日志教程中有详细的记录:http://docs.python.org/howto/logging.html#logging-basic-tutorial
编辑
但如果我是你,我会在调试的上下文中启动python debugger,以交互方式检查所有要检查的内容:
^{pr2}$我自己写的调试器.py包含信息/警告和调试消息。在
参见:https://github.com/unixunion/toolbox/blob/master/python/debugger.py
我还使用回溯来遍历堆栈,如:
结果如下:
^{pr2}$克根
相关问题 更多 >
编程相关推荐