亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

使用PDB簡單調試Python程序簡明指南

系統 1657 0

在 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)

總結

使用PDB簡單調試Python程序簡明指南_第1張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产亚洲欧美一区 | 国产成人a一在线观看 | 男女啪视频大全1000 | 爱爱一区 | 国产精品高清一区二区三区 | 国产亚洲欧美一区二区三区 | 九九啪 | 四虎影院永久免费观看 | 亚洲精品国产第一综合99久久 | 在线色国产 | 豆国产93在线 | 亚洲 | 免费一区 | 天天操狠狠操 | 国内精品视频一区二区三区八戒 | 国产中的精品一区的 | 精品国产一区二区三区香蕉事 | 99国产高清久久久久久网站 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 人人爽天天爽夜夜爽qc | 欧美精品一区二区在线观看 | 久久久精品免费视频 | 日本一级大黄毛片一级 | 久久大胆视频 | 色五婷婷 | 欧美精品成人a多人在线观看 | 一级做a爰片性色毛片2021 | 精品国产免费一区二区三区五区 | 天天干夜夜想 | 国产精品国语自产拍在线观看 | 香蕉亚洲欧洲在线一区 | 亚洲热热久久九九精品 | 麻豆一区二区三区四区 | 97视频免费上传播放 | 性做久久久久久坡多野结衣 | 在线播放亚洲视频 | 久草热视频 | 国产精品乱码一区二区三区 | 欧美嫩草| 亚洲性夜夜时 | 99热久久国产精品免费看 | 一本久道久久综合狠狠爱 |