我想标题说明了一切,我会详细说明。
在非 Django 程序中(即使在非 Web 项目中),我想通过以下方式获取堆栈跟踪:
常规文件和行号信息,周围行的代码和范围标识(函数名称等)。
局部范围变量(只是它们的名称和 repr() 会很棒)
有图书馆吗?我可以为其提供插件的可视化 python 调试器?我怎么能得到这个堆栈跟踪?
您可以从 Python 文档和其中的示例中检查该traceback
模块。
import sys, traceback
def run_user_code(envdir):
source = raw_input(">>> ")
try:
exec source in envdir
except:
print "Exception in user code:"
print '-'*60
traceback.print_exc(file=sys.stdout)
print '-'*60
envdir = {}
while 1:
run_user_code(envdir)