一个快速方便的图形化 Python 调试器 —— birdseye | Github 项目推荐
时间:2022-05-04
本文章向大家介绍一个快速方便的图形化 Python 调试器 —— birdseye | Github 项目推荐,主要内容包括安装:、用法和功能、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
Birdseye 是一个简单快速的 Python 调试器,它可以在函数的调用中记录表达式的值,并且在退出函数后轻松查看。例如:
它不是通过逐行浏览来查看表达式的值如何改变,而是通过循环的方式实现。
Birdseye 可以查看哪些表达式会引发异常:
另外,Birdseye 可展开具体的数据结构和对象以查看其内容,为避免数据超载,展开的宽度和深度会被限制。
安装:
只要简单的 pip install birdseye 即可。
用法和功能
想要快速演示,请复制并运行下述页面的代码示例,然后从步骤 2 继续:
https://github.com/alexmojaki/birdseye/blob/master/example_usage.py
如果要调试函数,请用 birdseye.eye 来修饰,例如:
from birdseye import eye
@eye
def foo():
eye 的修饰器要应用在其他修饰器之前,即在列表的底部:
- 调用函数
- 在终端里运行 birdseye 或者 python -m birdseye 来运行 UI 服务器,该命令有个可选参数,即端口号,默认为 7777。
- 在浏览器里打开 http://localhost:7777
- 点击: 包含你的函数的文件名称 函数名称 最近的函数调用
当你查看函数调用时,你可以:
- 将鼠标悬停在表达式上可查看其在屏幕底部的值。
- 单击选择一个表达式,可以让表达式停留在检查面板中,同时检查多个值并展开对象和数据结构。
- 将鼠标悬停在检查面板中的某个项目上,代码中将高亮该项目。
- 拖动检查面板顶部的横条,可以在垂直方向上调整它的大小。
- 点击循环旁边的箭头,可通过迭代的方式来回切换。 点击中间的数字,直接跳转到特定的迭代。
- 如果你正在查看的函数调用包括一个被跟踪的函数调用,那么发生调用的表达式将在角落中有一个箭头
,点击此箭头可转到该函数调用。
有关该 Python 调试器的详细信息请进入 Github 主页查询:
Github:https://github.com/alexmojaki/birdseye
- ERC20 协议 Token 钱包浅谈
- 小姐姐教你做CTF逆向题:利用符号执行技术和约束求解器
- 「开篇」区块链技术指北
- 如何将CDH从企业版降级为免费版
- 文件上传漏洞的一些总结
- 任意文件下载引发的思考
- LSTM入门详解
- 如何将CDH集群JAVA升级至JDK8
- 如何将Kerberos环境下CDH集群JAVA升级至JDK8
- 干货|如何做准确率达98%的交通标志识别系统?
- 用57行代码搞定花8000万美元采购车牌识别项目
- Cloudera Manager Server服务在RedHat7状态显示异常分析
- 开源 | 基于Python的人脸识别:识别准确率高达99.38%!
- 转录组数据的基因表达变化情况探索
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP调用QQ互联接口实现QQ登录网站功能示例
- laravel解决迁移文件一次删除创建字段报错的问题
- laravel 错误处理,接口错误返回json代码
- Thinkphp 3.2框架使用Redis的方法详解
- Laravel validate error处理,ajax,json示例
- PHP 图片合成、仿微信群头像的方法示例
- python写文件时覆盖原来的实例方法
- Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
- PHP判断当前使用的是什么浏览器(推荐)
- PHP 计算两个时间段之间交集的天数示例
- laravel model 两表联查示例
- Laravel使用模型实现like模糊查询的例子
- Laravel 模型使用软删除-左连接查询-表起别名示例
- PHP上传图片到数据库并显示的实例代码
- Laravel 5.5 实现禁用用户注册示例