2012-01-23 188 views
3

我想通過Eclipse調試我的Django項目。當我通過命令提示符啓動服務器後,在瀏覽器中輸入url時,該應用程序正常工作。現在我想調試它。Django Eclipse調試。不停在斷點

我已經完成了以下工作:我已經設置了一個調試/運行配置:在配置的主選項卡中,它指向項目和views.py。在參數選項卡中,我有程序參數:runserver --noreload。 (我寫調試/運行配置,因爲它似乎進入相同的配置,無論我做「調試爲」或「運行方式」。)

我已經添加了一個斷點到我的代碼。

我很困惑我是否應該先通過命令提示符啓動服務器;因此我嘗試了兩種方法。我對我是否應該從Eclipse執行「Run as」或「Debug as」有困惑。因此,我嘗試了所有combis:

組合1: 通過命令提示符運行服務器。點擊我的項目(或模塊 - 都嘗試),然後選擇「作爲運行/運行配置」。選擇我的新配置並運行。結果:控制檯標題欄顯示:--noreload。如果我現在在瀏覽器中輸入url,它可以正常工作,不會停在斷點處。

組合2: 通過命令提示符運行服務器。點擊我的項目(或模塊 - 都嘗試過),然後選擇「調試爲/調試配置」。選擇我的新配置並運行。結果:控制檯標題欄顯示:views.py。在控制檯中它讀取「pydev調試器:開始」如果我現在在瀏覽器中輸入url,它可以正常工作,不會停在斷點處。

combi 3/4: 服務器未從命令提示符運行。除了瀏覽器無法連接到本地主機外,結果與1和2相同。

我讀了一篇教程,說DJANGO_SETTINGS_MODULE設置爲值設置,PYTHONPATH設置爲值$ PWD。當我這樣做時,我得到一個錯誤,它無法找到我的設置文件。因此,我將這些留下了,也因爲我看到另一個教程,他們根本沒有設置。

回答

0

原來是一個愚蠢的錯誤:在調試配置中,我有主模塊指向views.py而不是manage.py。改變它解決了這個問題。

3

當你說通過命令提示符運行時,你是什麼意思?

提供的東西是正確設置(http://pydev.org/manual_adv_django.html),下面應該工作:

右擊項目>調試爲> PyDev的:Django的(它會創建一個運行配置與--no重載和運行它在調試模式下)。

如果您將啓動配置爲重新啓動最後一次啓動(如http://pydev.org/manual_101_run.html中所述),您應該只需按F11再次調試,Ctrl + F11即可在沒有調試模式的情況下運行它。

注意:在http://pydev.org/manual_adv_remote_debugger.html(在頁面末尾)有關於如何進行調試而不必指定自動重新加載的說明 - 您可能還想看看:https://stackoverflow.com/a/7648375/110451以實際殺死產生的Django處於自動重載模式時)。

+1

「右鍵單擊項目>調試爲> PyDev:Django」這對我有用。已經創建了我自己的調試配置,這是不工作。 – olafure

相關問題