2011年12月26日 星期一

筆記:[Using pdb++ in Django] 解決 AttributeError: UnixConsole instance has no attribute 'old_sigwinch'

在django的環境下使用 pdb++ 時可能會遭遇到一些問題以致出現某些訊息:
AttributeError: UnixConsole instance has no attribute 'old_sigwinch'
看一下debug的訊息可以發現有問題的地方常常是因為設定了中斷點如:
import pdb; pdb.set_trace()
簡單的解決方法可以改為使用原本的pdp module:(不過就喪失了使用pdb++的意義了...)
import pdb; pdb.pdb.set_trace()
或是去找看看最後觸發exception的部分是不是因為 pyrepl 下的unix_console.py
如果是的話可以參考這裡的 Issue 解決方法,簡言之就是:



  1. 將最後trace到的 unix_console.py 作一些修改
  2. 重新再跑一次吧!




--
話說其實Django的Debug資訊真的相當豐富
不過為了更了解Django的運作,還是會需要使用原生的pdb或是 pdb++ 這種好物



Update: (2013.3.7)
pyrepl 版本 0.8.4 以後已解決此問題!









沒有留言:

張貼留言