2010-06-15 13 views
4

我發現在某些情況下,Eclipse python調試器可能不可靠。例如,當瀏覽需要內存的Python程序時,我發現在某個點後調試器無法響應。整個過程掛起100%cpu負載。如何使Eclipse Python調試器更可靠?

我聽說開發商(未經證實)報道說,發生這種情況時它實際上可能不是一個坑,但速度很慢,比如一個步驟,通常需要微秒可能會採取五分鐘。

我觀察到這個既普通Eclipse調試器(例如,當你做調試AS->蟒蛇運行)和PyDev的網絡調試。事情停止工作的地步似乎很隨意,但可以重新制作。我正在調試純數字函數,因此沒有明顯的套接字或tcp活動可能會中斷網絡調試器。儘管如此,對於給定的工作站&任務而言,發生故障的點似乎相當一致。

我得到幾乎完全相同的效果,無論我使用調試as-> python運行,因爲我可能如果我使用pydev的網絡調試器('導入pydevd; pydevd.settrace()') - 其中一個失敗另一個是也可能會失敗。

如果我要正常運行腳本(沒有調試),它執行沒有任何掛起。此外,如果我用old-skool內聯斷點('import pdb; pdb.set_trace()')替換eclipse調試器,一切正常。 Pdb幾乎從不出錯,但有時候我根本無法使用它,例如,當我調試從Excel調用的python函數時(因爲沒有控制檯存在)。

我注意到,這次失敗似乎從來沒有瑣碎的程序出現,因此我暫時的結論是,故障可能與內存相關的。

所以 - 是否有人知道什麼可能會導致這種不可靠性。是否可以對調試器或環境進行任何調整,以使調試器工作更可靠?

僅供參考,在Windows XP 32位與最新的Eclipse & Pydev的運行的Python 2.4.4。 Psyco(JIT編譯器)不可用。

+0

如果Eclipse不起作用,爲什麼要打擾呢?我不明白這個問題。爲什麼不切換到NetBeans或Komodo? – 2010-06-15 10:12:13

+1

Eclipse Pydev是免費的,除了在上述情況下工作。我們有一個20人的混合能力開發團隊,他們都知道如何使用Eclipse/PyDev。 這是一個非常大的組織,桌面不一定由用戶控制。獲得一些其他軟件包,弄清楚如何做所有事情,記錄文件,重新培訓......所有這些任務都將我們從我們付費的工作中分散出來。 如果我們能解決問題,那將會好得多! – 2010-06-15 13:58:15

+0

這是否仍然發生在你​​最新的pydev上?如果是這樣,你能發佈一小段觸發問題的示例代碼嗎? – tangentstorm 2011-02-25 01:28:28

回答

0

不知道其相關的,但我有一個場景,過多的調試消息會導致我的電腦變得很慢。您可以嘗試轉到Window - > Preferences - > Run/Debug - > Console ... tick限制控制檯輸出,並減少控制檯緩衝區大小(我的設置爲40000)。

2

Python 2.4存在已知的問題(所以,如果可能的話,得到一個更新的版本),如果你無法獲得更新的版本,至少使用線程框架擴展(http://pypi.python。組織/ PyPI中/ threadframe)。如果沒有這種可能,那麼真的希望調試器不能正常工作(因爲調試器需要該版本不具備的功能)。