国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-23 00:52:32
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长武县| 砀山县| 滦平县| 和林格尔县| 志丹县| 柘荣县| 崇左市| 且末县| 岱山县| 德惠市| 东山县| 寻甸| 嘉义市| 丹凤县| 中山市| 金湖县| 天祝| 宝应县| 武强县| 洛南县| 平舆县| 榕江县| 通江县| 百色市| 莱州市| 沾益县| 洛宁县| 靖西县| 义马市| 云梦县| 清远市| 孟津县| 东阿县| 襄樊市| 巴彦县| 牟定县| 阳泉市| 南丹县| 山东省| 龙江县| 车险|