宣传一下 Cyberbrain,真正解放程序员的 Python 调试工具

2020-10-09 10:00:51 +08:00
 laike9m

本来只想小范围宣传一下,但没什么人给我反馈,所以就来 V2 贴一下。

项目地址

https://github.com/laike9m/Cyberbrain

简单来说,Cyberbrain 可以实现精确的变量溯源,并且让用户查看变量在任意时刻的值。这些传统的 debugger 都做不到。

截图:

你觉得这个工具有用吗,还缺哪些功能?欢迎任何问题和反馈。

8706 次点击
所在节点    Python
63 条回复
jin7
2020-10-09 12:51:07 +08:00
先收藏一下
laike9m
2020-10-09 12:51:53 +08:00
@wdhwg001 在项目页面有后续版本的路线图,预计会在 4.0 支持。当然,我更希望有人能加入一起做,如果是我一个人的话 async 确实要等比较久了
laike9m
2020-10-09 12:53:50 +08:00
@wuwukai007 恩,因为 pysnooper 分析的是行级别的变化,而 cb 是在字节码级别做追踪的,拿到的信息要多太多,准确度也更高
justin2018
2020-10-09 13:05:22 +08:00
颜值不错 收藏了 😁
CallMeReznov
2020-10-09 13:08:00 +08:00
@laike9m #10 阿里的 早上发帖子的时候 pip 了一下没有
laike9m
2020-10-09 13:19:49 +08:00
zhuzhzh
2020-10-09 13:33:39 +08:00
很不错,下一版开发 go trace?
laike9m
2020-10-09 13:44:57 +08:00
@zhuzhzh #27 谢谢。Cyberbrain 是 Python only 的,Go 可能需要更熟悉 Go 的人来开发,而且我怀疑在 Go 里能否拿到需要的信息
CallMeReznov
2020-10-09 13:54:26 +08:00
@laike9m #26 怪我。。。我 py 版本 367 的。
laike9m
2020-10-09 13:57:01 +08:00
@CallMeReznov #29 嗯,支持 Python 3.7+(过几天就支持 3.9 )。主要是因为用了一个 3.7 里新加的 API
xiaolinjia
2020-10-09 13:57:35 +08:00
mark 一手,顺便能请问下是用了什么新特性导致只能 3.7+才能用吗,我也跟 ls 一样是 36 的。
janxin
2020-10-09 14:10:45 +08:00
@laike9m 做 Go 的和这个完全不一样了,需要面向二进制配合符号做,部分功能恐怕需要魔改 runtime
xiri
2020-10-09 14:11:07 +08:00
是不是不支持递归函数啊,刚刚随手拿裴波那契数列的递归写法试了一下,结果报 AssertionError 了,又试了几个其他的递归函数,无一例外全部报错。
正常写法的函数都没问题,应该不是我的环境的原因吧
laike9m
2020-10-09 14:25:48 +08:00
@xiri #33 非常感谢,能帮忙提个 issue 吗?我会尽快修复
https://github.com/laike9m/Cyberbrain/issues/new
laike9m
2020-10-09 14:26:47 +08:00
no1xsyzy
2020-10-09 14:31:57 +08:00
@xiri 我来拍脑袋猜一下,一个被 @ trace 修饰的函数在被调用的过程中不允许再次调用被修饰的函数。
试下先正常 def fib(n): 出来,然后 trace(fib)(n) 来执行?可能可以。
SimonOne
2020-10-09 14:34:14 +08:00
我不太懂这些,不过这个变量可视化的部分和 https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer 有什么差别吗
xiri
2020-10-09 14:39:55 +08:00
@laike9m 已经提了
laike9m
2020-10-09 14:44:55 +08:00
laike9m
2020-10-09 14:46:40 +08:00
@SimonOne #37 哈哈,它们长得像是因为都用了 vis-network 这个可视化库🙈 不过目的是完全不一样的。debug-visulizer 是可视化数据结构,Cyberbrain 是可视化代码执行流程

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/713201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX