2013-04-29 80 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