2010-05-18 105 views
1

這看起來簡單的東西中的模塊,但我找不到到目前爲止答案 -如何加載Python調試

我剛學Python和需要開始學習PDB。在我的模塊中,當模塊作爲程序運行時,我有通常的if __name__ == __main_技巧來執行一些代碼。

到目前爲止,我已經通過python -m mymod arg1 arg2語法運行它

現在我想從裏面PDB做同樣的事情。通常在C,我只是做gdb mybinary其次run arg1 arg2

但我不知道如何在pdb中實現同樣的事情。

我相信必須有一個簡單的方法來實現這一點,但它帶我太長時間搜索它..

感謝您的幫助!

回答

1

嘗試:

python -m pdb mymod.py arg1 arg2 

這應該啓動PDB調試mymod.py(如果mymod.py不在當前目錄中,那麼你就必須指定路徑)。

或者在您想要開始調試的代碼中設置一個斷點。將斷點轉換爲pdb的常用方法是:

if somecondition: 
    import pdb; pdb.set_trace() 

您可以使任何方便的條件來確保斷點不會過早觸發。

+0

謝謝,第二個建議工作正常。第一個不能使用-m加載多個模塊,我會在後面找出它的語法。現在,只需使用第二種方法。 – 2010-05-18 14:52:04