Birdseye是一個Python調試器,它在函數調用中記錄表達式的值,并讓你在函數** 退出 **后輕松查看它們,例如:
無論你如何運行或編輯代碼,都可以使用Birdseye。只需要你安裝好依賴:
pip install birdseye
并在代碼函數上方添加 ** @eye
** 裝飾器(如上動圖所示),即可根據需要運行函數,并在瀏覽器中查看結果。
它還可以與一些常用工具集成在一起,如 Pycharm 和 Vscode,以提供更流暢的體驗,后續我們會介紹如何將其與這些工具結合使用。
它不僅僅能夠單步執行,還能在 循環迭代中來回移動 ,并查看所選表達式的值如何變化:
通過 birdseye 你能很容易地知道哪些表達式引發了異常:
你也能夠展開具體的數據結構和對象以查看其內容:
調用會按功能組織(文件組織)并進行時間排序進行顯示,讓你一目了然地看到發生了什么:
1.快速上手
首先,使用 pip 安裝 birdseye :
pip install birdseye
然后,對需要進行調試的函數使用eye裝飾器:
from birdseye import eye
@eye
def foo():
在你調用該函數完成后,在終端運行命令打開Birdseye的Web服務:
python -m birdseye
在瀏覽器打開 http://localhost:7777 就能看到需要調試的函數執行流程了。點擊下圖的按鈕即可跳轉到最新的函數調用。
2.在Pycharm中集成調試
在 Pycharm 的 Settings 中,點擊 Plugins 插件市場搜索 birdseye 點擊 install 安裝。
安裝完成后重啟Pycharm,就可以在 Pycharm 中使用 birdseye了:
默認情況下,該插件還可以為你自動運行Birdseye服務器,因此就不需要輸入 python -m birdseye 那行命令了。
3.在VSCode中集成調試
在VSCode中繼承調試Birdseye也非常方便,點擊左側的擴展商店,在彈出框中輸入搜索 birdseye,并點擊 install 安裝:
安裝完成后,點擊 F1 輸入Birdseye,就能顯示調試界面:
如果無法正常顯示右側調試界面,并提示未安裝birdseye,但實際上你已經安裝成功了,這一般是路徑錯誤導致的,請在擴展設置中手動更改python路徑為你安裝了Birdseye的Python。
4.美中不足
Birdseye 是一個非常強大的調試工具,但我認為這還是有缺點可以改善的:
1.為了防止堆棧過大,每個迭代它最多只保留6個(前三、末三)元素:
因此如果你想看一些特殊元素值的執行情況,它可能不會如你所愿。
不過,不需要擔心某些分支你調試不到,因為 birdseye 有個保險機制: 如果一個表達式僅在某種特定情況下會被執行,那么執行時的元素也會被加入到可調試元素中 。
2.由于需要記錄堆棧,程序會大大減慢速度,因此它絕對不適合上到生產環境。
3.每個函數調用,Birdseye 都需要收集許多數據,對于某些極其復雜的函數調用,可能會引發內存問題。
-
調試
+關注
關注
7文章
578瀏覽量
33923 -
函數
+關注
關注
3文章
4327瀏覽量
62573 -
數據結構
+關注
關注
3文章
573瀏覽量
40123 -
python
+關注
關注
56文章
4792瀏覽量
84627
發布評論請先 登錄
相關推薦
評論