0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Birdseye:極其強(qiáng)大的Python調(diào)試工具

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-11-01 09:50 ? 次閱讀

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

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

pip install birdseye

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

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

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

圖片

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

圖片

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

圖片

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

圖片

1.快速上手

首先,使用 pip 安裝 birdseye :

pip install birdseye

然后,對需要進(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 插件市場搜索 birdseye 點(diǎn)擊 install 安裝。

圖片

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

圖片

圖片

圖片

默認(rèn)情況下,該插件還可以為你自動運(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)安裝成功了,這一般是路徑錯誤導(dǎo)致的,請?jiān)跀U(kuò)展設(shè)置中手動更改python路徑為你安裝了Birdseye的Python。

圖片

4.美中不足

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

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

圖片

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    551

    瀏覽量

    33763
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61969
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    568

    瀏覽量

    40030
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA調(diào)試工具-chipscope

    FPGA調(diào)試工具chipscope,學(xué)習(xí)與使用FPGA必用的工具。。
    發(fā)表于 03-23 09:45 ?86次下載

    串口調(diào)試工具

    串口調(diào)試工具 便于單片機(jī)下載 串口調(diào)試工具 串口調(diào)試工具
    發(fā)表于 11-20 16:35 ?41次下載

    舵機(jī)調(diào)試工具

    舵機(jī)調(diào)試工具、直流電機(jī)的速度控制+測試程序。
    發(fā)表于 02-23 16:08 ?0次下載

    舵機(jī)調(diào)試工具

    飛思卡爾智能車舵機(jī)調(diào)試工具,其他舵機(jī)調(diào)試可自行修改舵機(jī)參數(shù)處理
    發(fā)表于 02-24 17:25 ?8次下載

    串口調(diào)試工具

    串口調(diào)試工具
    發(fā)表于 12-28 10:16 ?171次下載

    介紹Lauterbach調(diào)試工具的應(yīng)用

    該演示由Lauterbach中國團(tuán)隊(duì)提供,展現(xiàn)您如何通過Lauterbach強(qiáng)大的嵌入式調(diào)試工具Trace32來調(diào)試和分析運(yùn)行在Altera Cyclone V SoC芯片上面的軟件。Lauterbach
    的頭像 發(fā)表于 06-26 08:09 ?5496次閱讀

    初學(xué)GDB調(diào)試工具需要注意的事項(xiàng)

    GDB是一個由GNU開源組織發(fā)布的、UNIX/LINUX操作系統(tǒng)下的、基于命令行的、功能強(qiáng)大的程序調(diào)試工具。相比于VS里面的圖形化調(diào)試工具,其功能更加強(qiáng)大。
    發(fā)表于 05-16 17:45 ?1046次閱讀
    初學(xué)GDB<b class='flag-5'>調(diào)試工具</b>需要注意的事項(xiàng)

    串口調(diào)試工具

    串口調(diào)試工具免費(fèi)下載。
    發(fā)表于 09-13 17:41 ?33次下載

    分享Perl和Python腳本輕量實(shí)用的調(diào)試工具

    Perl和Python作為目前芯片開發(fā)流程中最為流行的腳本語言,本文將分別介紹它們輕量且實(shí)用的調(diào)試工具(Debugger),讓你在調(diào)試腳本的時候不再抓瞎。
    的頭像 發(fā)表于 01-21 17:25 ?1718次閱讀
    分享Perl和<b class='flag-5'>Python</b>腳本輕量實(shí)用的<b class='flag-5'>調(diào)試工具</b>

    調(diào)試工具檢測

    調(diào)試工具檢測
    發(fā)表于 01-31 15:01 ?0次下載

    Python調(diào)試工具-Birdseye

    Birdseye是一個Python調(diào)試器,它在函數(shù)調(diào)用中記錄表達(dá)式的值,并讓你在函數(shù)**退出**后輕松查看它們
    的頭像 發(fā)表于 02-24 10:55 ?560次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>調(diào)試工具</b>-<b class='flag-5'>Birdseye</b>

    分享一個非常強(qiáng)大的串口調(diào)試工具

    LLCOM是一個可運(yùn)行l(wèi)ua腳本的高自由度串口調(diào)試工具
    的頭像 發(fā)表于 05-29 09:54 ?3825次閱讀
    分享一個非常<b class='flag-5'>強(qiáng)大</b>的串口<b class='flag-5'>調(diào)試工具</b>

    Birdseye極其強(qiáng)大Python調(diào)試工具

    Birdseye是一個Python調(diào)試器,它在函數(shù)調(diào)用中記錄表達(dá)式的值,并讓你在函數(shù)** 退出 **后輕松查看它們,例如: 無論你如何運(yùn)行或編輯代碼,都可以使用Birdseye。只需要
    的頭像 發(fā)表于 10-21 10:47 ?385次閱讀
    <b class='flag-5'>Birdseye</b>:<b class='flag-5'>極其</b><b class='flag-5'>強(qiáng)大</b>的<b class='flag-5'>Python</b><b class='flag-5'>調(diào)試工具</b>

    modbus調(diào)試工具

    modbus調(diào)試工具
    發(fā)表于 04-28 13:50 ?89次下載

    串口調(diào)試工具

    串口調(diào)試工具
    發(fā)表于 04-28 13:53 ?7次下載