2011-08-09 57 views
3

我注意到從Eclipse調試Python腳本是多麼容易。只需設置斷點並從調試菜單運行Python腳本即可。但是是否有可能啓動一個Python交互式解釋器而不是運行特定的Python腳本,同時仍然讓Eclipse在斷點上斷開?這會使它所以更容易測試功能。如何在不運行腳本的情況下調試Python代碼(使用Eclipse)?

感謝所有幫助


還在尋找一個簡單/ ISH的方式開始在Eclipse的調試器> PyDev的,讓我使用交互式調試器。目前還沒有答案是可以接受的

+1

我不知道關於Eclipse,但香草'pdb'可以做到這一點。 – Santa

+0

你有沒有用香草作爲形容詞? – Hubro

+0

是的。 'python -m pdb ...'就是我的意思。 – Santa

回答

0

那麼,在腳本中,你可以編寫一個函數,比如onlyForTest,然後每次你編寫一個新函數並且想測試它,你可以把它放入唯一的ForTest函數,然後指定剛剛編寫的新函數所需的一些參數,然後打開交互式python shell,導入腳本,調用onlyForTest函數,檢查結果。

+0

這就是我現在正在做的:)我真的更喜歡使用交互式解釋器。 – Hubro

+0

唉,由於缺乏更好的答案,我把這一個標記爲正確的,因爲這是我堅持做的。 – Hubro

2

您可以顯式編寫代碼來在腳本中設置斷點,然後執行「遠程調試」。這意味着在腳本的Python路徑中運行pydevd,並在devbox上運行eclipse pydev遠程調試器。如果這一切都發生在同一臺機器上,這是相當簡單的。 如果不是,則需要在調用settrace()時指定運行python遠程調試器的開發機器的主機名。您還需要運行腳本的機器上可用的pydevd。

我已經得到了這個工作,而不必在運行腳本的機器上安裝eclipse + pydevd。這並不完全簡單,如果你走這條路線,我建議檢查一下pydevd版本是否匹配,或者至少你知道它們是兼容的。否則,最終會浪費時間來調試調試器。

有關詳細信息,請參閱:Pydev Remote Debugger

+0

+1:很好的答案和鏈接。我沒有聽說過這個。 –

+0

我不得不說,我已經閱讀了您的文章和鏈接,我看不出您的答案與我的問題有什麼關係:P我只是想在PyDev中設置斷點並啓動交互式解釋器 – Hubro

相關問題