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

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

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

在 Python 中也可以像 gcc/gdb 那樣調(diào)試程序,只要在運(yùn)行 Python 程序時(shí)引入 pdb 模塊(假設(shè)要調(diào)試的程序名為 d.py):

復(fù)制代碼 代碼如下:

$ 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


運(yùn)行上面的命令后進(jìn)入以下界面,可以輸入類(lèi)似 gdb 的命令來(lái)改變程序的執(zhí)行流程:
復(fù)制代碼 代碼如下:

$ python -m pdb 1.py
> d.py(3)()
-> def main():
(Pdb)

list 顯示程序的最近代碼段:
復(fù)制代碼 代碼如下:

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

(Pdb) next
> d.py(9)()
-> if __name__ == '__main__':

用 break 在第6行設(shè)置一個(gè)斷點(diǎn):
復(fù)制代碼 代碼如下:

(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ù)處設(shè)置斷點(diǎn):
復(fù)制代碼 代碼如下:

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


還可以給斷點(diǎn)加條件,比如設(shè)置條件只有當(dāng) sum > 50 的時(shí)候才 break:
復(fù)制代碼 代碼如下:

(Pdb) break d.py:6, sum > 50
Breakpoint 1 at d.py:6

如果想查看某個(gè)變量的值,可以用 pp 命令打印出來(lái):
復(fù)制代碼 代碼如下:

(Pdb) step
> d.py(5)main()
-> for i in xrange(100):
(Pdb) pp sum
0

可以直接在程序里使用 pdb 模塊,import pdb 后 pdb.set_trace():
復(fù)制代碼 代碼如下:

#!/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()


這樣只要運(yùn)行程序 ./d.py 就可以直接運(yùn)行到 print sum 處:
復(fù)制代碼 代碼如下:

$ ./d.py
> d.py(9)main()
-> print sum
(Pdb)

總結(jié)

相關(guān)文章

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

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

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

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

    這篇文章主要介紹了Python基于百度AI實(shí)現(xiàn)OCR文字識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python面向?qū)ο筇厥獬蓡T

    Python面向?qū)ο筇厥獬蓡T

    這篇文章主要介紹了Python面向?qū)ο筇厥獬蓡T的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 基于python的文字轉(zhuǎn)圖片工具示例詳解

    基于python的文字轉(zhuǎn)圖片工具示例詳解

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

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

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

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

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

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

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

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

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

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

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

    淺談Django自定義模板標(biāo)簽template_tags的用處

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

最新評(píng)論

玛曲县| 蒙阴县| 邢台县| 方城县| 武强县| 霍州市| 瑞昌市| 施甸县| 称多县| 北京市| 繁昌县| 洞头县| 杨浦区| 清新县| 治多县| 洱源县| 锦州市| 东乡| 油尖旺区| 腾冲县| 正安县| 阳新县| 嘉兴市| 宜兰市| 澄江县| 巨野县| 肥乡县| 固安县| 周至县| 山东省| 通榆县| 张家口市| 环江| 大足县| 土默特左旗| 封丘县| 平谷区| 徐州市| 博爱县| 巴塘县| 宁夏|