簡單除錯 Python 程式

2021-06-26 14:09:15 字數 2503 閱讀 6847

在 python 中也可以像 gcc/gdb 那樣除錯程式,只要在執行 python 程式時引入 pdb 模組(假設要除錯的程式名為 d.py):

$ vi d.py

#!/usr/bin/python

def main():

i, sum = 1, 0

for i in xrange(100):

sum = sum + i

print sum

if __name__ == '__main__':

main()

$ python -m pdb d.py

執行上面的命令後進入以下介面,可以輸入類似 gdb 的命令來改變程式的執行流程:

$ python -m pdb 1.py 

> d.py(3)()

-> def main():

(pdb)

list 顯示程式的最近**段:

(pdb) list

1 #!/usr/bin/python

2

3 -> def main():

4 i, sum = 1, 0

5 for i in xrange(100):

6 sum = sum + i

7 print sum

8

9 if __name__ == '__main__':

10 main()

[eof]

next 或者 n 執行下一行**:

(pdb) next

> d.py(9)()

-> if __name__ == '__main__':

用 break 在第6行設定乙個斷點:

(pdb) break d.py:6

breakpoint 1 at d.py:6

(pdb) list

1 #!/usr/bin/python

2

3 def main():

4 i, sum = 1, 0

5 -> for i in xrange(100):

6 b sum = sum + i

7 print sum

8

9 if __name__ == '__main__':

10 main()

[eof]

如果想在函式處設定斷點:

(pdb) break d.main

d.py:3

(pdb) list

1 #!/usr/bin/python

2

3 b def main():

4 -> i, sum = 1, 0

5 for i in xrange(100):

6 sum = sum + i

7 print sum

8

9 if __name__ == '__main__':

10 main()

[eof]

還可以給斷點加條件,比如設定條件只有當 sum > 50 的時候才 break:

(pdb) break d.py:6, sum > 50

breakpoint 1 at d.py:6

如果想檢視某個變數的值,可以用 pp 命令列印出來:

(pdb) step

> d.py(5)main()

-> for i in xrange(100):

(pdb) pp sum

0

可以直接在程式裡使用 pdb 模組,import pdb 後 pdb.set_trace():

#!/usr/bin/python

import pdb

def main():

i, sum = 1, 0

for i in xrange(100):

sum = sum + i

pdb.set_trace()

print sum

if __name__ == '__main__':

main()

這樣只要執行程式 ./d.py 就可以直接執行到 print sum 處:

$ ./d.py 

> d.py(9)main()

-> print sum

(pdb)

命令用途

break 或 b

設定斷點

continue 或 c

繼續執行程式

list 或 l

檢視當前行的**段

step 或 s

進入函式

return 或 r

執行**直到從當前函式返回

exit 或 q

中止並退出

next 或 n

執行下一行

pp列印變數的值

help

幫助

簡單除錯 Python 程式

from 在 python 中也可以像 gcc gdb 那樣除錯程式,只要在執行 python 程式時引入 pdb 模組 假設要除錯的程式名為 d.py vi d.py usr bin python def main i,sum 1,0 for i in xrange 100 sum sum i p...

使用PDB簡單除錯Python程式簡明指南

在 python 中也可以像 gcc gdb 那樣除錯程式,只要在執行 python 程式時引入 pdb 模組 假設要除錯的程式名為 d.py 複製 如下 vi d.py usr bin python def main i,sum 1,0 for i in xrange 100 sum sum i ...

VBA 簡單除錯

在中斷模式下 ctrl break鍵 可以做 1.執行 工具 選項 編輯器 勾選 自動顯示資料提示 則當用滑鼠懸停在變數或表示式上時,會出現提示視窗,顯示其名稱和值!2.在監視視窗檢視某些表示式的值,方法是 先用滑鼠拖黑以選中表示式,再執行 除錯 新增監視,出現 新增監視 對話方塊。3.在 視窗中選...