Debug无忧!清华校友打造Python调试神器!

Cyberbrain:Python调试,重新定义 Cyber​​brain:Python调试,已重新定义。 电子大脑 (Cyber​​brain )旨在使程序员免于调试。它可以让您: Backtrace变量更改。 查看程序执行的每个状态,包括变量的值 调试循环充满信心。 永远不要花几个小时来完成程序,让Cyber​​brain告诉您发生了什么。 有关现有功能的信息,以及即将推出的功能的。 我在2021年的PyCascades上发表了有关Cyber​​brain的演讲,。 安装 Cyber​​brain由一个Python库和各种编辑器/ IDE集成组成。目前,它支持和 。请参阅我们扩大支持范围的。 要安装Cyber​​brain: pip install cyberbrain code --install-extension laike9m.cyberbrain 您也可以从 , 或。 或者,您可以在线试用Cyber​​brain: 如 立即下载
贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI

写代码时提笔千行,debug时却低效抓狂……

几乎每个编程者都逃不了这样的纠结。

通过编译器一行行地去找bug,太浪费时间。

所以,一位清华校友、谷歌工程师laike9m,便开发了一个强大的Python调试工具Cyberbrain:

能够详细记录项目数据流、变量、状态等等关键信息。

并且,结果还会以直观简洁的可视化图片呈现。

有了这个神器,今后debug也会和写代码一样流畅高效。

“赛博大脑”帮你debug

平常你的程序中出现bug时会怎么办?

最常规的办法是用调试器,但是你能记住程序中每个步骤发生什么了吗?

这就是传统方法的缺点:调试信息无法持久化,要靠程序员去记住它们。

这款名叫Cyberbrain(赛博大脑)的强大的工具,最亮眼的功能,是回溯代码中的变量更改历史,查看程序执行的状态。

所以,在你调试程序或debug时,不需要费几个小时用编译器逐行执行。

Cyberbrain会清晰的告诉你流程中都发生过什么:

Cyberbrain能显示准确的数据流,并保留程序的每个状态。程序员不仅不需要记住任何内容,甚至不需要逐步执行程序,这可以节省大量调试时间。

比方说,你想找出为什么返回值是错误的。通过看图,就可以对导致返回值的原因有了一个大概的了解。

接下来,将鼠标悬停在 “返回 “节点上,所有相关的值都显示出来了,形成了一个从函数开始到结束的跟踪路径:

只要动动鼠标就能找到问题,谁还会去用麻烦的编译器呢?

除了流程和变量跟踪,赛博大脑还能对目标进行检查。

如果现在有一个大列表,但它无法与图匹配,如何使用工具来检查它的值?

启动后,Cyberbrain会自动打开一个devtools窗口。

当你把鼠标悬停在一个变量上时,它的值就会被记录在devtools控制台中。

所以在这种情况下,虽然没有足够的空间在跟踪图中显示整个列表,但你仍然可以从devtools中检查它的值。

几乎所有的Python调试器(PyCharm、VS Code等)都会截断参数,无法显示一个大列表中的每个元素,但Cyberbrain不会这样做,除非你明确告诉它。

最后,Cyberbrain还能让用户在debug的同时,设置循环计数器。

‍如何安装使用

Cyberbrain由一个Python库和各种编辑器/IDE集成组成。目前它支持 VS Code 和 Gitpod。

安装只需要通过一句话指令:

pip install Cyberbrain
code —install-extension laike9m.Cyberbrain

同时,作者还提供了在线版的Cyberbrain,可以直接试用:

https://gitpod.io/#snapshot/91475a9d-4ccf-420a-b0ee-11db084ce689

在使用过程中,假如你想追踪一个函数“foo”,可以使用@trace指令实现:

from Cyberbrain import trace


# As of now, you can only have one @trace decorator in the whole program.
# We may change this in version 2.0, see https://github.com/laike9m/Cyberbrain/discussions/73


@trace  # Disable tracing with `@trace(disabled=True)`
def foo():

Cyberbrain可以保持你的工作流程不变。运行一个程序(从 vscode 或命令行,都可以),一个新的面板将被打开,程序执行情况全部以可视化展示:

使用Cyberbrain,还有几点需要注意。

首先是可能会与其他调试器发生冲突。如果你设置了断点并使用VSC的调试器,Cyberbrain可能无法正常工作。一般来说,首选 “不调试运行”。

而当你的程序中有多个装饰器(decorator)时,应该将@trace设置为最底层的那个。

此外,目前Cyberbrain还不支持多线程代码。

作者介绍

作者laike9m,谷歌软件工程师,目前全职开发Cyberbrain工具。

laike9m是清华校友,在博客中自述曾担任清华大学推理协会会长。此外还是重度二次元爱好者。

除了Cyberbrain,他还组织了一档播客节目,名字叫捕蛇者说,Pythonhunter。

图片: https://uploader.shimo.im/f/Ks0rqxVvzEZrPsfE.png

Cyberbrain项目地址:
https://github.com/laike9m/Cyberbrain

laike9m主页:
https://laike9m.com/blog/

播客地址:
https://pythonhunter.org/

— 完 —

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

点这里,直达菜鸟学PythonB站!!
python-hunter:Hunter是一种灵活的代码跟踪工具包 概述 docs 测试 包裹 Hunter是一种灵活的代码跟踪工具包,不是用于衡量覆盖范围,而是用于调试,记录,检查和其他有害目的。 它具有一个 ,一个和一个的。 免费软件:BSD 2条款许可 安装 pip install hunter 文献资料 https://python-hunter.readthedocs.io/ 概述 基本用法涉及将各种过滤器传递给trace选项。 一个例子: import hunter hunter . trace ( module = 'posixpath' , action = hunter . CallPrinter ) import os os . path . join ( 'a' , 'b' ) 这将导致: >>> os.path.join( ' a ' , ' b ' ) /usr/lib/python3.6/p 立即下载

相关推荐

Python-wdb通过WebSockets的web调试器

wdb:通过WebSockets的web 调试器

探秘Cyberbrain:记忆一切的编程助手

探秘Cyberbrain:记忆一切的编程助手 在浩瀚的代码海洋中迷失方向?让我们一起揭开Cyberbrain的神秘面纱——这个曾经旨在帮助开发者“记住一切”的强大工具。虽然当前项目已被作者重构并存档,它留下的理念和实践仍然值得我们深入探索。 项目介绍 Cyberbrain,一个曾经活跃于开发社区的名字,它的核心在于追踪程序中的变量状态变迁,以图形化的形式展现给开发者。通过直观的PDF输出,Cybe...

gitblog_00075的博客 568

Java语言程序设计与数据结构(基础篇)第2章课后习题代码chapter2.rar

Java语言程序设计与数据结构(基础篇)第2章课后习题代码

如何定制Prelaunchr奖品系统:修改REFERRAL_STEPS配置的3种方法

Prelaunchr是一款基于Rails 4构建的预启动网站解决方案,提供完整的奖品等级设置、状态管理和社交分享功能。本文将详细介绍三种修改REFERRAL_STEPS配置的方法,帮助你轻松定制符合项目需求的奖品激励体系。 ## 一、直接修改用户模型配置 最直接的定制方式是编辑用户模型中的REFERRAL_STEPS常量定义。该配置位于`app/models/user.rb`文件中,采用数组结

gitblog_00032的博客 471

python-web-pdb:适用于Python的PDB调试器的基于Web的远程UI

Web-PDB Web-PDB是Python内置调试器的Web界面。 它允许在Web浏览器中远程调试Python脚本。 特征 基于响应设计。 以 (“ Okaida”主题)突出显示Python语法。 支持所有PDB功能。 可以将标准输入和输出重定向到Web控制台,以与Python脚本进行远程交互。 当前文件框跟踪正在执行的文件中的当前位置。 红线数字表示断点(如果有)。 Globals和Locals框显示当前作用域中的局部和全局变量。 排除以双下划线__开头和结尾的特殊变量(您始终可以使用PDB命令查看它们)。 Python 2的人类可读Unicode文字。 命令历史记录,最多可存储10个最后的唯一PDB命令(通过向上/向下箭头键访问)。 Chrome浏览器中的Web-PDB控制台 用法 将Web-PDB安装到您的工作Python环境中: pip install w

局放起始电压(PDIV)与击穿电压(BDV):绝缘系统设计的核心参数 [特殊字符]

在电力设备绝缘系统设计中,**局放起始电压(Partial Discharge Inception Voltage, PDIV)和击穿电压(Breakdown Voltage, BDV)**是两个至关重要的参数。它们直接反映了绝缘材料的性能和绝缘系统的可靠性,对变压器的设计、制造和运行具有重要指导意义。本文将深入探讨这两项参数的定义、测试方法及其与绝缘设计制造的关系,帮助读者全面理解其在电力设备中的核心作用。

mubiao05的博客 2640

python 调试 cyberbrain 教程

python 调试 cyberbrain 介绍 项目地址 https://github.com/laike9m/Cyberbrain 安装(终端命令) pip install Cyberbrain code —install-extension laike9m.Cyberbrain 打开 必须是vscode打开 用pycharm打开会报错 示例代码 from cyberbrain import trace @trace def test(): x = 1 y = x+1 z

weixin_44493841的博客 989

全网最新首发纯干货:微信数据库表结构完整分析(一)

找不到微信DB表结构说明?找不到具体字段的解释?来这里,全网最完整版!!!

killghosts的博客 4930

【GitHub项目推荐--谷歌大神又一开源代码调试神器】【转载】

因此,在这种情况下,尽管没有足够的空间在跟踪图中显示整个列表,但是您仍然可以从 devtools 中检查其值。与其他调试器不同,Cyberbrain可以显示准确的数据流,并且可以在程序的每个状态中持续存在。Cyberbrain并不会改变你的工作流程,运行一个程序(从 vscode 或命令行,都可以),一个新的面板将被打开,程序执行情况全部以可视化展示。当前,它支持VS Code。最后,值得一提的是,创建者 laike9m 毕业于清华大学,谷歌软件工程师,目前全职开发 Cyberbrain 工具。

j8267643的博客 1281

ESP8266 + MQTT :如何实现 LED 灯的远程控制

MQTT 是轻量级的、灵活的物联网消息交换和数据传递协议,致力于为 IoT 开发人员实现灵活性与硬件/网络资源的平衡。 NodeMCU 是一个开源的物联网平台。它使用 Lua 语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。 在此项目中我们将实现 NodeMCU(ESP8266) 与 EMQ X Cloud 运营和维护的免费公共 MQTT 服务器远程控制 LED 灯,并使用 Arduino IDE 来对 NodeMCU ESP8266 进行编程。 EMQ X Cloud

emqx_broker的博客 3357

用友T3提示,年度[UFDATA_002_2017]并不存在,导致无法备份迁移。

用友T3提示,年度[UFDATA_002_2017]并不存在,导致无法备份迁移。现在都win11了某个年度账套不存在怎么办?

雨季余静的博客 3566

谷歌大神又一开源代码调试神器

如果调试是 Debug 的必经之路,那么编程应该将它考虑在内。今天我就和大家分享一个代码调试神器 - Cyberbrain。Cyberbrain是一个免费开源的 Python 代码调试解决...

公众号:逛逛GitHub 355

2025年CSP-J初赛真题及答案解析(完整版)

2025年CSP-J初赛真题及答案解析(完整版)

王老师青少年编程 1万+

Debug无忧!清华校友打造Python调试神器

本文转载自 QbitAI,作者 贾浩楠 写代码时提笔千行,debug时却低效抓狂…… 几乎每个编程者都逃不了这样的纠结。 通过编译器一行行地去找bug,太浪费时间。 所以,一位清华校友、谷歌工程师laike9m,便开发了一个强大的Python调试工具Cyberbrain: 能够详细记录项目数据流、变量、状态等等关键信息。 并且,结果还会以直观简洁的可视化图片呈现。 有了这个神器,今后debug也会和写代码一样流畅高效。 “赛博大脑”帮你debug 平常你的程序中出现bug时会怎么办

m0_46163918的博客 1万+

Python全栈入门到实战【AI实战篇 01】DeepSeek官方API全流程实战,第一个AI项目前置必备

文章摘要 本文介绍了基于DeepSeek API开发智能助手的前期准备和基础调用流程。内容涵盖: 前期准备:访问DeepSeek官网、完成账号注册与实名认证。 API Key获取:充值并创建API Key,强调密钥安全保存的重要性。 查阅文档:定位官方接口文档中的Python调用示例。 环境配置:安装openai依赖包,配置环境变量存储API Key。 代码编写:使用Python调用DeepSeek API实现基础对话功能。 调试与验证:解决常见问题,确保API调用成功。 适合零基础开发者跟随操作,快速入门

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3742

SAP UI5 SimpleForm 的本质、布局选择与工程化用法:从 API 到 Fiori 规范的完整解析

SimpleForm的价值在于让开发者以“语义顺序”来思考表单:分组—行—字段,由此把更多精力放在表单信息架构与Fiori规范的落地上。当你理解了开分组、Label开新行、的断点与比例、的对齐特性、editable与的真实含义,就能据此为每个页面挑选合适的布局与参数,构建既合规又具备高可读性的企业级表单。新分组、Label新行、其他控件归当前行。SAP的断点、比例与的要点来自Fiori设计文档。SAP的适用性来自样例与课程的推荐,列表类控件不应作为其行内容。某些旧属性仅在生效,应避免误用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 308

Debug 无忧!清华校友打造 Python 调试神器

写代码时提笔千行,debug时却低效抓狂…… 几乎每个编程者都逃不了这样的纠结。 通过编译器一行行地去找bug,太浪费时间。 所以,一位清华校友、谷歌工程师laike9m,便开发了一个强大的Python调试工具Cyberbrain: 能够详细记录项目数据流、变量、状态等等关键信息。 并且,结果还会以直观简洁的可视化图片呈现。 有了这个神器,今后debug也会和写代码一样流畅高效。 “赛博大脑”帮你debug 平常你的程序中出现bug时会怎么办? 最常规的办法是用调试器,但是你能记住程序中每个步骤发生什

osfront的博客 251

Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能

一、环境介绍 操作系统:虚拟机运行的Ubuntu18.04 64位系统 二、流媒体服务器介绍 百度百科: 流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和...

7143

Debug无忧!清华校友打造Python调试神器:反向追踪变量、数据流等 | 开源

贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI写代码时提笔千行,debug时却低效抓狂……几乎每个编程者都逃不了这样的纠结。通过编译器一行行地去找bug,太浪费时间。所以,一...

量子位 372

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

清华校友打造Python调试神器

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI写代码时提笔千行,debug时却低效抓狂……...

zandaoguang的博客 474

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Debug都统统去死!清华大学校友打造了个python调试神器!!

本文转载自 QbitAI,作者 贾浩楠 写代码时提笔千行,debug时却低效抓狂…… 几乎每个编程者都逃不了这样的纠结。 通过编译器一行行地去找bug,太浪费时间。 所以,一位清华校友、谷歌工程师laike9m,便开发了一个强大的Python调试工具Cyberbrain: 能够详细记录项目数据流、变量、状态等等关键信息。 并且,结果还会以直观简洁的可视化图片呈现。 有了这个神器,今后...

javadada1197的博客 232

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python代码Debug工具-Cyberbrain

该项目开源在githup:https://github.com/laike9m/Cyberbrain 本文只是来介绍这个工具的一些信息和操作方法 一、背景 几乎每个程序员都遇到过写代码时提笔千行,debug时却低效抓狂。通过编译器去一行一行的找bug,太费时间,也费脑。 二、介绍 这里介绍的调试工具叫Cyberbrain(赛博大脑):最亮眼的功能是可以回溯代码中的变量更改历史,查看程序执行状态。 简单来说Cyberbrain能清晰地告诉你流程都发生过什么: 比如,你想找出为什么返回值是错误的,

fangweijiex的博客 1030

CARLA控制算法完全指南:从PID到模型预测控制的实现

CARLA是一个开源的自动驾驶仿真平台,专为开发、训练和验证自动驾驶系统而设计。本指南将带您了解CARLA中常用的控制算法,从基础的PID控制到先进的模型预测控制(MPC),帮助您快速掌握自动驾驶车辆的控制技术。 ## 为什么选择CARLA进行控制算法开发? CARLA提供了丰富的仿真环境和灵活的API,使开发者能够轻松实现和测试各种控制算法。其主要优势包括: - 高度逼真的城市环境和交通场

gitblog_00765的博客 628

如何快速上手git-interactive-rebase-tool?5分钟完成安装与基础操作

git-interactive-rebase-tool是一款跨平台的终端交互式变基工具,能帮助开发者高效管理Git提交历史。通过直观的终端界面,你可以轻松完成提交排序、合并、修改等操作,让版本控制更加简单高效。 ## 快速安装指南 ### 主流系统安装方法 #### macOS(Homebrew) ```shell brew install git-interactive-rebase-to

gitblog_00979的博客 574
上一篇: 手把手教你用20行Python代码制作飞花令小程序!
下一篇: 功能强大、文档健全的开源 Python 绘图库 Plotly,手把手教你用!
菜鸟学Python
博客等级 码龄9年 8088粉丝 571原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值