2013-04-29 54 views
1

我想标题说明了一切,我会详细说明一下。Django堆栈痕迹很棒。我怎样才能得到一个Django之外?

在非Django的项目(即使是在非Web项目)我想获得与堆栈跟踪:

  • 常规文件和行号信息,周边线路和范围的识别代码(名称功能和whatnot)。

  • 局部范围变量(只是他们的名字和再版()将是巨大的)

是否有图书馆吗?一个可视化的Python调试器,我可以提供一个插件?我怎么能得到这个堆栈跟踪?

回答

1

您可以从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) 
+0

谢谢。我正在推出自己的解决方案,并且追溯模块对于获取我需要的所有数据非常重要。这是我发现获取模块的文件名以及行号的唯一方法(所以我可以使用linecache从中读取代码) – 2013-04-30 10:33:01