亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1. 調(diào)試python

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

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

在這里插入圖片描述

pip install ipdb

1.1 使用ipdb

當(dāng)程序運(yùn)行到ipdb.set_trace()的地方會自動進(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)。對于一段比較棘手的代碼,我們可能需要按步執(zhí)行,邊運(yùn)行邊跟蹤代碼流并進(jìn)行調(diào)試,這時候使用交互式的命令式調(diào)試方法更加有效。啟動IPDB調(diào)試環(huán)境的方法也很簡單:

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

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

下一條語句
使用n(next)執(zhí)行下一條語句。注意一個函數(shù)調(diào)用也是一個語句。如何能夠?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)的方式給指定的行號位置加上斷點(diǎn)。使用b file_name:line_number的方法給指定的文件(還沒執(zhí)行到的代碼可能在外部文件中)中指定行號位置打上斷點(diǎn)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • Python線性表種的單鏈表詳解

    Python線性表種的單鏈表詳解

    這篇文章主要介紹了Python線性表種的單鏈表詳解,線性表是一種線性結(jié)構(gòu),它是由零個或多個數(shù)據(jù)元素構(gòu)成的有限序列。線性表的特征是在一個序列中,除了頭尾元素,每個元素都有且只有一個直接前驅(qū),有且只有一個直接后繼
    2022-08-08
  • Python守護(hù)進(jìn)程和腳本單例運(yùn)行詳解

    Python守護(hù)進(jìn)程和腳本單例運(yùn)行詳解

    本篇文章主要介紹了Python守護(hù)進(jìn)程和腳本單例運(yùn)行,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python中使用Pygal繪制世界地圖并添加交互功能

    Python中使用Pygal繪制世界地圖并添加交互功能

    Pygal 是一個Python庫,它提供了創(chuàng)建各種類型地圖的工具,包括世界地圖,本文將詳細(xì)介紹如何使用 Pygal 繪制世界地圖,并展示一些豐富的示例代碼,
    2024-01-01
  • python利用scatter繪畫散點(diǎn)圖

    python利用scatter繪畫散點(diǎn)圖

    這篇文章主要介紹了python利用scatter繪畫散點(diǎn)圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-06-06
  • Python如何進(jìn)行時間處理

    Python如何進(jìn)行時間處理

    這篇文章主要介紹了Python如何進(jìn)行時間處理,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • 發(fā)工資啦!教你用Python實現(xiàn)郵箱自動群發(fā)工資條

    發(fā)工資啦!教你用Python實現(xiàn)郵箱自動群發(fā)工資條

    這篇文章主要介紹了發(fā)工資啦!教你用Python實現(xiàn)郵箱自動群發(fā)工資條,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 基于Tensorflow使用CPU而不用GPU問題的解決

    基于Tensorflow使用CPU而不用GPU問題的解決

    今天小編就為大家分享一篇基于Tensorflow使用CPU而不用GPU問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Django rest framework如何自定義用戶表

    Django rest framework如何自定義用戶表

    Django 默認(rèn)的用戶表很多時候這些基本字段不夠用,本文介紹在 DRF上使用自定義用戶表進(jìn)行接口訪問控制的功能設(shè)計。感興趣的可以了解一下
    2021-06-06
  • DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置

    DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置

    django-allauth是集成了local用戶系統(tǒng)和social用戶系統(tǒng),其social用戶系統(tǒng)可以掛載多個賬戶。也是一個流行度非常高的Django user系統(tǒng),我們這里簡單介紹下,分享下個人的使用經(jīng)驗
    2014-11-11
  • python語言中print中加號、減號、乘號的應(yīng)用方式

    python語言中print中加號、減號、乘號的應(yīng)用方式

    這篇文章主要介紹了python語言中print中加號、減號、乘號的應(yīng)用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論