最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用PDB簡單調(diào)試Python程序簡明指南

 更新時間:2015年04月25日 11:47:21   投稿:junjie  
這篇文章主要介紹了使用PDB簡單調(diào)試Python程序簡明指南,本文講解了使用PDB調(diào)試程序的簡單技巧,方便、簡潔實用,需要的朋友可以參考下

在 Python 中也可以像 gcc/gdb 那樣調(diào)試程序,只要在運行 Python 程序時引入 pdb 模塊(假設要調(diào)試的程序名為 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 的命令來改變程序的執(zhí)行流程:
復制代碼 代碼如下:

$ 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 執(zhí)行下一行代碼:
復制代碼 代碼如下:

(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]


如果想在函數(shù)處設置斷點:
復制代碼 代碼如下:

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

總結

相關文章

  • Python正則表達re模塊之findall()函數(shù)詳解

    Python正則表達re模塊之findall()函數(shù)詳解

    在python中,通過內(nèi)嵌集成re模塊可以直接調(diào)用來實現(xiàn)正則匹配,其中re.findall()函數(shù)可以遍歷匹配,可以獲取字符串中所有匹配的字符串,返回一個列表,這篇文章主要給大家介紹了關于Python正則表達re模塊之findall()函數(shù)的相關資料,需要的朋友可以參考下
    2022-07-07
  • Python基于百度AI實現(xiàn)OCR文字識別

    Python基于百度AI實現(xiàn)OCR文字識別

    這篇文章主要介紹了Python基于百度AI實現(xiàn)OCR文字識別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Python面向對象特殊成員

    Python面向對象特殊成員

    這篇文章主要介紹了Python面向對象特殊成員的相關資料,需要的朋友可以參考下
    2017-04-04
  • 基于python的文字轉圖片工具示例詳解

    基于python的文字轉圖片工具示例詳解

    這篇文章主要介紹了基于python的文字轉圖片工具,請求示例是使用?curl?命令請求示例,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • python內(nèi)置模塊collections詳解

    python內(nèi)置模塊collections詳解

    這篇文章主要介紹了python內(nèi)置模塊collections詳解,collections是Python內(nèi)建的一個集合模塊,提供了許多有用的集合類,python提供了很多非常好用的基本類型,比如不可變類型tuple,我們可以輕松地用它來表示一個二元向量,需要的朋友可以參考下
    2023-09-09
  • Python實現(xiàn)IP代理批量采集的示例代碼

    Python實現(xiàn)IP代理批量采集的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)IP代理批量采集,并檢測代理是否可用。文中的示例代碼講解詳細,需要的可以參考一下
    2022-09-09
  • Python遠程linux執(zhí)行命令實現(xiàn)

    Python遠程linux執(zhí)行命令實現(xiàn)

    這篇文章主要介紹了Python遠程linux執(zhí)行命令實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • python實現(xiàn)的分層隨機抽樣案例

    python實現(xiàn)的分層隨機抽樣案例

    這篇文章主要介紹了python實現(xiàn)的分層隨機抽樣案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python實現(xiàn)分析apache和nginx日志文件并輸出訪客ip列表的方法

    python實現(xiàn)分析apache和nginx日志文件并輸出訪客ip列表的方法

    這篇文章主要介紹了python實現(xiàn)分析apache和nginx日志文件并輸出訪客ip列表的方法,涉及Python操作日志文件的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 淺談Django自定義模板標簽template_tags的用處

    淺談Django自定義模板標簽template_tags的用處

    這篇文章主要介紹了淺談Django自定義模板標簽template_tags的用處,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12

最新評論

林周县| 乌苏市| 吉安县| 宁晋县| 泰安市| 桃源县| 长岛县| 宁波市| 二连浩特市| 香港| 方正县| 福建省| 中方县| 武义县| 乌拉特中旗| 汽车| 永川市| 会宁县| 庆阳市| 泰和县| 夏河县| 炉霍县| 肥乡县| 浪卡子县| 台安县| 满城县| 涟源市| 都兰县| 林口县| 江陵县| 察哈| 瑞安市| 江陵县| 新龙县| 宕昌县| 邯郸市| 旌德县| 沂水县| 长葛市| 五指山市| 临夏县|