2010-04-29 36 views
8

在調試我的django應用程序時,我使用pdb與pdb.set_trace()進行交互式調試。有沒有辦法讓pdb和Mac Terminal玩得很好?

但是,當我修改文件時,本地django網絡服務器重新啓動,然後我無法看到我在終端中輸入的內容,直到我輸入reset

這是否有自動發生?它可能是真正煩人的,必須取消runserver並重置並始終重新啓動它。我被告知它不會在其他操作系統(ubuntu)上發生,因此無論如何都不會在Mac上發生? (我正在使用雪豹)。

回答

8

確定 - 這對我的作品,我創建了〜/ .pdbrc並添加

進口OS
使用os.system( 「stty的理智」)

現在每次PDB運行它會將線路設置恢復到理智狀態。

如果我掉到終端上,我仍然需要手動執行 - 但它解決了必須退出runserver並且一直重置。

1

在保存對文件的更改之前,請嘗試使用[q] uit pdb。這樣可以防止控制檯在你身上發生衝突,但僅限於pdb.set_trace()的一次運行。

當您忘記退出pdb時,您仍然必須回退到舊的^ C + reset + ./manage.py runserver。有一件事可以使重置不那麼惱人,就是將reset和runserver放在一行上。這種方式重置只是一個快速^Rreset或向上箭頭。

[ ... ] 
Development server is running at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 
^C$ reset && ./manage.py runserver 
1

我發現最好的是做內部PDB復位,像這樣:

進口操作系統;使用os.system( 「復位」);

相關問題