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

python調(diào)試模塊ipdb詳解

 更新時(shí)間:2023年03月16日 10:23:51   作者:mingqian_chu  
ipdb是用來(lái)python中用以交互式debug的模塊,可以直接利用pip安裝,這篇文章主要介紹了python調(diào)試模塊ipdb詳解,需要的朋友可以參考下

1. 調(diào)試python

ipdb是用來(lái)python中用以交互式debug的模塊,可以直接利用pip安裝;

其功能類似于pycharm中 python控制臺(tái),
而使用ipdb 的優(yōu)點(diǎn),便是直接在代碼中調(diào)試,
避免了在python控制臺(tái),或者重新設(shè)置一些簡(jiǎn)單變量。

在這里插入圖片描述

pip install ipdb

1.1 使用ipdb

當(dāng)程序運(yùn)行到ipdb.set_trace()的地方會(huì)自動(dòng)進(jìn)入debug模式。

for i in range(5):
    print(i)
    ipdb.set_trace()

1.2 常用命令

n→ \to→next
ENTER→ \to→重復(fù)上次命令
q→ \to→退出
p<變量>→ \to→打印變量
c→ \to→繼續(xù)
l→ \to→查找當(dāng)前位于哪里
s→ \to→進(jìn)入子程序
r→ \to→運(yùn)行直到子程序結(jié)束
————————————————

命令式
上面的方法很方便,但是也有不靈活的缺點(diǎn)。對(duì)于一段比較棘手的代碼,我們可能需要按步執(zhí)行,邊運(yùn)行邊跟蹤代碼流并進(jìn)行調(diào)試,這時(shí)候使用交互式的命令式調(diào)試方法更加有效。啟動(dòng)IPDB調(diào)試環(huán)境的方法也很簡(jiǎn)單:

python -m ipdb your_code.py
常用命令
IPDB調(diào)試環(huán)境提供的常見命令有:

幫助
使用h即可調(diào)出IPDB的幫助??梢允褂胔elp command的方法查詢特定命令的具體用法。

下一條語(yǔ)句
使用n(next)執(zhí)行下一條語(yǔ)句。注意一個(gè)函數(shù)調(diào)用也是一個(gè)語(yǔ)句。如何能夠?qū)崿F(xiàn)類似“進(jìn)入函數(shù)內(nèi)部”的功能呢?

進(jìn)入函數(shù)內(nèi)部
使用s(step into)進(jìn)入函數(shù)調(diào)用的內(nèi)部。

打斷點(diǎn)
使用b line_number(break)的方式給指定的行號(hào)位置加上斷點(diǎn)。使用b file_name:line_number的方法給指定的文件(還沒(méi)執(zhí)行到的代碼可能在外部文件中)中指定行號(hào)位置打上斷點(diǎn)。

另外,打斷點(diǎn)還支持指定條件下進(jìn)入,可以查詢幫助文檔。

一直執(zhí)行直到遇到下一個(gè)斷點(diǎn)
使用c(continue)執(zhí)行代碼直到遇到某個(gè)斷點(diǎn)或程序執(zhí)行完畢。

一直執(zhí)行直到返回
使用r(return)執(zhí)行代碼直到當(dāng)前所在的這個(gè)函數(shù)返回。

跳過(guò)某段代碼
使用j line_number(jump)可以跳過(guò)某段代碼,直接執(zhí)行指定行號(hào)所在的代碼。

更多上下文
在IPDB調(diào)試環(huán)境中,默認(rèn)只顯示當(dāng)前執(zhí)行的代碼行,以及其上下各一行的代碼。如果想要看到更多的上下文代碼,可以使用l first[, second](list)命令。

其中first指示向上最多顯示的行號(hào),second指示向下最多顯示的行號(hào)(可以省略)。當(dāng)second小于first時(shí),second指的是從first開始的向下的行數(shù)(相對(duì)值vs絕對(duì)值)。

根據(jù)SO上的這個(gè)問(wèn)題,你還可以修改IPDB的源碼,一勞永逸地改變上下文的行數(shù)。

我在哪里
調(diào)試興起,可能你會(huì)忘了自己目前所在的行號(hào)。例如在打印了若干變量值后,屏幕完全被這些值占據(jù)。使用w或者where可以打印出目前所在的行號(hào)位置以及上下文信息。

這是啥
我們可以使用whatis variable_name的方法,查看變量的類別(感覺有點(diǎn)雞肋,用type也可以辦到)。

列出當(dāng)前函數(shù)的全部參數(shù)
當(dāng)你身處一個(gè)函數(shù)內(nèi)部的時(shí)候,可以使用a(argument)打印出傳入函數(shù)的所有參數(shù)的值。

打印
使用p(print)和pp(pretty print)可以打印表達(dá)式的值。

清除斷點(diǎn)
使用cl或者clear file:line_number清除斷點(diǎn)。如果沒(méi)有參數(shù),則清除所有斷點(diǎn)。

再來(lái)一次
使用restart重新啟動(dòng)調(diào)試器,斷點(diǎn)等信息都會(huì)保留。restart實(shí)際是run的別名,使用run args的方式傳入?yún)?shù)。

退出
使用q退出調(diào)試,并清除所有信息。

當(dāng)然,這并不是IPDB的全部。其他的命令還請(qǐng)參照幫助文檔。文檔在手,天下我有!

到此這篇關(guān)于python調(diào)試模塊ipdb詳解的文章就介紹到這了,更多相關(guān)python調(diào)試ipdb內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 五種Python轉(zhuǎn)義表示法

    五種Python轉(zhuǎn)義表示法

    這篇文章主要介紹了五種Python轉(zhuǎn)義表示法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 用python3 返回鼠標(biāo)位置的實(shí)現(xiàn)方法(帶界面)

    用python3 返回鼠標(biāo)位置的實(shí)現(xiàn)方法(帶界面)

    今天小編就為大家分享一篇用python3 返回鼠標(biāo)位置的實(shí)現(xiàn)方法(帶界面),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python面向?qū)ο箢惱^承和組合實(shí)例分析

    Python面向?qū)ο箢惱^承和組合實(shí)例分析

    這篇文章主要介紹了Python面向?qū)ο箢惱^承和組合,結(jié)合實(shí)例形式分析了Python3面向?qū)ο罄^承的原理、用法以及繼承與組合相關(guān)使用技巧,需要的朋友可以參考下
    2018-05-05
  • Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)

    俄羅斯方塊,作為是一款家喻戶曉的游戲,陪伴70、80甚至90后,度過(guò)無(wú)憂的兒時(shí)歲月,它上手簡(jiǎn)單能自由組合、拼接技巧也很多。本文就來(lái)用Python中的Pygame模塊實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-12-12
  • Python中使用Flask、MongoDB搭建簡(jiǎn)易圖片服務(wù)器

    Python中使用Flask、MongoDB搭建簡(jiǎn)易圖片服務(wù)器

    這篇文章主要介紹了Python中使用Flask、MongoDB搭建簡(jiǎn)易圖片服務(wù)器,本文是一個(gè)詳細(xì)完整的教程,需要的朋友可以參考下
    2015-02-02
  • 對(duì)PyTorch中inplace字段的全面理解

    對(duì)PyTorch中inplace字段的全面理解

    這篇文章主要介紹了對(duì)PyTorch中inplace字段的全面理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 只需要這一行代碼就能讓python計(jì)算速度提高十倍

    只需要這一行代碼就能讓python計(jì)算速度提高十倍

    今天教大家一個(gè)小方法,只需要這一行代碼就能讓python計(jì)算速度提高十倍,文中介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)python的小伙伴有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • 通過(guò)自學(xué)python能找到工作嗎

    通過(guò)自學(xué)python能找到工作嗎

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于通過(guò)自學(xué)python能找到工作嗎的分析內(nèi)容,對(duì)此有興趣的朋友們可以參考下。
    2020-06-06
  • 簡(jiǎn)述 Python 的類和對(duì)象

    簡(jiǎn)述 Python 的類和對(duì)象

    這篇文章主要介紹了Python 的類和對(duì)象的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python 快速把超大txt文件轉(zhuǎn)存為csv的實(shí)例

    python 快速把超大txt文件轉(zhuǎn)存為csv的實(shí)例

    今天小編就為大家分享一篇python 快速把超大txt文件轉(zhuǎn)存為csv的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10

最新評(píng)論

朝阳市| 甘洛县| 济阳县| 涞源县| 大姚县| 巨鹿县| 阿拉善左旗| 龙海市| 德格县| 汤阴县| 靖宇县| 阿拉善左旗| 微山县| 措美县| 板桥市| 怀化市| 凤翔县| 安丘市| 宁远县| 乐山市| 凤山市| 左权县| 江口县| 广东省| 临颍县| 崇仁县| 衡阳市| 株洲市| 贵港市| 临高县| 祁东县| 札达县| 株洲市| 鄂温| 东兴市| 宜章县| 东乡族自治县| 青冈县| 济阳县| 东兰县| 姚安县|