1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Python 圖形化調(diào)試工具 Birdseye 入門教程

        共 1699字,需瀏覽 4分鐘

         ·

        2022-08-09 04:59

        Birdseye 是一個(gè) Python 調(diào)試器,它在函數(shù)調(diào)用中記錄表達(dá)式的值,并讓你在函數(shù)退出后輕松查看它們,例如:

        無論你如何運(yùn)行或編輯代碼,都可以使用Birdseye。只需要你安裝好依賴:


        pip install birdseye


        并在代碼函數(shù)上方添加  @eye  裝飾器(如上動(dòng)圖所示),即可根據(jù)需要運(yùn)行函數(shù),并在瀏覽器中查看結(jié)果。

        它還可以與一些常用工具集成在一起,如 Pycharm 和 Vscode,以提供更流暢的體驗(yàn),后續(xù)我們會(huì)介紹如何將其與這些工具結(jié)合使用。

        它不僅僅能夠單步執(zhí)行,還能在循環(huán)迭代中來回移動(dòng),并查看所選表達(dá)式的值如何變化:


        通過 birdseye 你能很容易地知道哪些表達(dá)式引發(fā)了異常:


        你也能夠展開具體的數(shù)據(jù)結(jié)構(gòu)和對(duì)象以查看其內(nèi)容:


        調(diào)用會(huì)按功能組織(文件組織)并進(jìn)行時(shí)間排序進(jìn)行顯示,讓你一目了然地看到發(fā)生了什么:


        1.快速上手



        首先,使用 pip 安裝 birdseye :

        pip install birdseye


        然后,對(duì)需要進(jìn)行調(diào)試的函數(shù)使用eye裝飾器:

        from birdseye import eye

        @eye
        def foo():


        在你調(diào)用該函數(shù)完成后,在終端運(yùn)行命令打開Birdseye的Web服務(wù):

        python -m birdseye


        在瀏覽器打開 http://localhost:7777 就能看到需要調(diào)試的函數(shù)執(zhí)行流程了。點(diǎn)擊下圖的按鈕即可跳轉(zhuǎn)到最新的函數(shù)調(diào)用。


        2.在Pycharm中集成調(diào)試



        在 Pycharm 的 Settings 中,點(diǎn)擊 Plugins 插件市場(chǎng)搜索 birdseye 點(diǎn)擊 install 安裝。


        安裝完成后重啟Pycharm,就可以在 Pycharm 中使用 birdseye了:



        默認(rèn)情況下,該插件還可以為你自動(dòng)運(yùn)行Birdseye服務(wù)器,因此就不需要輸入 python -m birdseye 那行命令了。

        3.在VSCode中集成調(diào)試



        在VSCode中繼承調(diào)試Birdseye也非常方便,點(diǎn)擊左側(cè)的擴(kuò)展商店,在彈出框中輸入搜索 birdseye,并點(diǎn)擊 install 安裝:



        安裝完成后,點(diǎn)擊 F1 輸入Birdseye,就能顯示調(diào)試界面:


        如果無法正常顯示右側(cè)調(diào)試界面,并提示未安裝birdseye,但實(shí)際上你已經(jīng)安裝成功了,這一般是路徑錯(cuò)誤導(dǎo)致的,請(qǐng)?jiān)跀U(kuò)展設(shè)置中手動(dòng)更改python路徑為你安裝了Birdseye的Python。



        4.美中不足



        Birdseye 是一個(gè)非常強(qiáng)大的調(diào)試工具,但我認(rèn)為這還是有缺點(diǎn)可以改善的:

        1.為了防止堆棧過大,每個(gè)迭代它最多只保留6個(gè)(前三、末三)元素:


        因此如果你想看一些特殊元素值的執(zhí)行情況,它可能不會(huì)如你所愿。

        不過,不需要擔(dān)心某些分支你調(diào)試不到,因?yàn)?birdseye 有個(gè)保險(xiǎn)機(jī)制:如果一個(gè)表達(dá)式僅在某種特定情況下會(huì)被執(zhí)行,那么執(zhí)行時(shí)的元素也會(huì)被加入到可調(diào)試元素中。

        2.由于需要記錄堆棧,程序會(huì)大大減慢速度,因此它絕對(duì)不適合上到生產(chǎn)環(huán)境。

        3.每個(gè)函數(shù)調(diào)用,Birdseye 都需要收集許多數(shù)據(jù),對(duì)于某些極其復(fù)雜的函數(shù)調(diào)用,可能會(huì)引發(fā)內(nèi)存問題。

        如果你不擔(dān)心這三個(gè)缺點(diǎn),而且希望能快速方便地看到函數(shù)中不同分支的執(zhí)行情況,那么Birdseye就是你的不二之選。

        Python貓技術(shù)交流群開放啦!群里既有國內(nèi)一二線大廠在職員工,也有國內(nèi)外高校在讀學(xué)生,既有十多年碼齡的編程老鳥,也有中小學(xué)剛剛?cè)腴T的新人,學(xué)習(xí)氛圍良好!想入群的同學(xué),請(qǐng)?jiān)诠?hào)內(nèi)回復(fù)『交流群』,獲取貓哥的微信(謝絕廣告黨,非誠勿擾?。?/span>~


        還不過癮?試試它們




        Python 中如何快速實(shí)現(xiàn)一個(gè)線程池?

        用 Taichi 加速 Python:提速 100+ 倍!

        解開 Python 中 self 的四個(gè)秘密!

        同步與異步 Python 有何不同?

        Python 實(shí)現(xiàn)定時(shí)任務(wù)的八種方案!

        Python 海象運(yùn)算符 (:=) 的三種用法


        如果你覺得本文有幫助

        請(qǐng)慷慨分享點(diǎn)贊,感謝啦!

        瀏覽 43
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            美女一级毛片 | 凹凸日日摸日日碰夜夜爽孕妇 | 91午夜在线观看 | 成人免费黄色网址 | 一道本久在线中文字幕 | 狠狠爱无码 | 欧美在线视频网 | 91久久香蕉国产日韩欧美9色 | 偷窥邻居做爰4伦理 | 天天谢天天操 |