我想标题说明了一切,我会详细说明。
在非Django程序中(甚至在非Web项目中),我想通过以下方式获取堆栈跟踪:
常规文件和行号信息,周围行的代码和范围标识(功能名称和诸如此类)。
局部范围变量(只是它们的名称和repr()会很棒)
有图书馆吗?我可以为它提供视觉插件的视觉调试器吗?我该如何获取此堆栈跟踪?
最佳答案
您可以从Python文档及其中的示例中查看traceback
module。
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)