国产探花免费观看_亚洲丰满少妇自慰呻吟_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()

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太保市| 鄂伦春自治旗| 新乡市| 黔西| 轮台县| 景宁| 改则县| 祁连县| 怀化市| 讷河市| 和田县| 阳曲县| 新余市| 紫阳县| 陇南市| 策勒县| 宣恩县| 钟祥市| 隆尧县| 张家界市| 舒兰市| 杭锦后旗| 澳门| 巨野县| 垫江县| 廊坊市| 孝昌县| 蓬莱市| 平罗县| 奇台县| 邯郸县| 沙河市| 博湖县| 河源市| 江都市| 嵊泗县| 威海市| 友谊县| 五指山市| 垦利县| 将乐县|