2010-07-28 62 views

回答

4

你是如何設置斷點的?嘗試在代碼中添加該行:

import pdb 
pdb.set_trace() 

然後運行它。如果你在pdb shell中,那麼「break foo.py:45」將在文件foo.py的第45行中斷開。

下面是一些有用的命令:

h help, list commands 
s step through current line 
n step to next line 
u go up the stack 
c continue execution 

檢查通過鍵入 'H' 的完整列表。而「幫助X」會給你幫助的命令X.另外,請參閱本教程:

+0

太棒了!有用。現在如何做我通過代碼? – 2010-07-28 22:54:02

+0

請參閱我的答案更新。 – ars 2010-07-28 23:04:00

2

typical usage闖入調試器正在運行的程序是插入

import pdb; pdb.set_trace() 

在您想要闖入調試器的位置。然後,您可以按照此語句遍歷代碼,並在沒有調試器的情況下使用c命令繼續運行。

typical usage檢查一個崩潰的程序是:

>>> import pdb 
>>> import mymodule 
>>> mymodule.test() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in ? 
    File "./mymodule.py", line 4, in test 
    test2() 
    File "./mymodule.py", line 3, in test2 
    print spam 
NameError: spam 
>>> pdb.pm() 
> ./mymodule.py(3)test2() 
-> print spam 
(Pdb) 

Python的網站提供了一個非常複雜的教程pdb。去http://docs.python.org/library/pdb.html