python调试工具Birdseye的使用教程
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 都需要收集许多数据,对于某些极其复杂的函数调用,可能会引发内存问题。
如果你不担心这三个缺点,而且希望能快速方便地看到函数中不同分支的执行情况,那么Birdseye就是你的不二之选。
(资源库 www.zyku.net)
原文链接:https://mp.weixin.qq.com/s/thYPCkBio9HRq8KzdG3Ymg
栏 目:Python教程
本文地址:https://www.zyku.net/python/9743.html
您可能感兴趣的文章
- 03-11让IIS支持mp4等视频播放的设置方法
- 01-11基础德语口语-基础德语口语应用软件功
- 01-13Dedecms提示信息及提示内容的修改方法
- 02-21小米11ultra隐藏应用设置方法
- 09-16小米手环如何还原出厂设置
- 01-30小米手机桌面布局设置方法
- 03-01一加手机添加门禁卡教程
- 01-09点点英文儿歌-点点英文儿歌应用软件功
- 07-06坚果r2手机截屏操作方法
- 02-12华为mate40pro关闭wifi下自动更新系统
- 03-27PHP 判断变量的类型总结
- 02-07opporeno5电量百分比开启教程
- 01-24华为mate40单手模式使用方法
- 02-11vivos7e自动开关机功能使用方法
- 02-21DedeCMS自定义表单解析模板标签及公共
- 03-23小米11流量监控功能开启方法
- 03-30vivo微信视频聊天美颜设置方法
- 04-14华为mate40e分屏教程
- 01-10汉字拆分助手-汉字拆分助手应用软件功
- 02-28CSS全局字体写法比较
最近更新
阅读排行
猜你喜欢
- 02-28oppo手机系统分身创建方法
- 01-12虫子p图神器-虫子p图神器应用软件功能
- 02-19PHPCMS 3.0 IIS Rewrite伪静态设置方
- 01-12架子鼓节拍器app-架子鼓节拍器app应用
- 09-27华为p30怎么设置微信分身
- 11-05华为手环连接vivo手机步骤一览
- 03-31Python图片检索之以图搜图
- 07-28详解Linux上svn命令行批量操作
- 04-27华为nova8pro关闭Volte高清通话功能方
- 05-09PHP实现获取第一个中文首字母并进行排