跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 宣传一下 Cyberbrain,真正解放程序员的 Python 调试工具
未分類
1 10 月 2020

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

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

資深大佬 : laike9m 6

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

项目地址

https://github.com/laike9m/Cyberbrain

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

截图:

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

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

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

大佬有話說 (62)

  • 資深大佬 : janxin

    新工具终于发布了呀,试一试

  • 資深大佬 : suke971219

    优秀

  • 主 資深大佬 : laike9m

    @janxin #1 发布了。但是没人鸟,而我又不想现在就去大规模宣传

  • 資深大佬 : frostming

    左老师牛皮

  • 資深大佬 : 676529483

    pycon 上了解的,终于能用了吗?可惜现在写 go 了(doge)

  • 資深大佬 : arcadia

    试用一下看看哈

  • 資深大佬 : wzw

    现在用 go 多点了,这个 py 应该很实用

  • 資深大佬 : CallMeReznov

    国内的镜像还没更新到吗?

  • 資深大佬 : SD10

    牛

  • 主 資深大佬 : laike9m

    @CallMeReznov #8 应该都有的。你用的哪个镜像?

  • 主 資深大佬 : laike9m

    @676529483 #5 PyCon 上演示的那个是个原型。今年完全重写,比在 PyCon 的那版强太多了。

  • 資深大佬 : pidal20

    看示意图好像是用 github-codespaces 开发的?

  • 主 資深大佬 : laike9m

    @liguanye7 #12 我申请了 codespaces 但还没给我批。之后会支持。目前支持 VS Code 和 Gitpod

  • 資深大佬 : est

    这类 trace 工具让我很困惑的一点就是几亿次循环那种变量变化特别快的,然后又是 2G 的 json 在里面变来变去的怎么办。

  • 主 資深大佬 : laike9m

    @est #14 这确实是个问题,不过我有大致的解决思路,就是隔一段时间把数据 dump 到磁盘一次。目前还没有着手优化这一块,不过是在计划内的。

  • 資深大佬 : wuwukai007

    感觉和 pysnooper 功能差不多呀

  • 主 資深大佬 : laike9m

    @wuwukai007 我不喜欢自吹,但是 cyberbrain 完爆 snooper (虽然目前还不支持追踪深层的函数调用)。pysnooper 真的没什么技术含量,它的核心功能我两天就能写出来

  • 主 資深大佬 : laike9m

    @wuwukai007 pysnooper 只能告诉你 a 变了,但它不能告诉你 a 变化的来源,以及变化来源的来源,而这是 cyberbrain 的核心功能。

  • 資深大佬 : wuwukai007

    @laike9m 追踪来源有点意思,那确实跟 pysnooper 侧重点不一样了

  • 資深大佬 : wdhwg001

    async 的支持怎么样?

  • 資深大佬 : jin7

    先收藏一下

  • 主 資深大佬 : laike9m

    @wdhwg001 在项目页面有后续版本的路线图,预计会在 4.0 支持。当然,我更希望有人能加入一起做,如果是我一个人的话 async 确实要等比较久了

  • 主 資深大佬 : laike9m

    @wuwukai007 恩,因为 pysnooper 分析的是行级别的变化,而 cb 是在字节码级别做追踪的,拿到的信息要多太多,准确度也更高

  • 資深大佬 : justin2018

    颜值不错 收藏了

  • 資深大佬 : CallMeReznov

    @laike9m #10 阿里的 早上发帖子的时候 pip 了一下没有

  • 主 資深大佬 : laike9m

    @CallMeReznov #25 阿里是有的
    宣传一下 Cyberbrain,真正解放程序员的 Python 调试工具

    https://mirrors.aliyun.com/pypi/simple/cyberbrain/

  • 資深大佬 : zhuzhzh

    很不错,下一版开发 go trace?

  • 主 資深大佬 : laike9m

    @zhuzhzh #27 谢谢。Cyberbrain 是 Python only 的,Go 可能需要更熟悉 Go 的人来开发,而且我怀疑在 Go 里能否拿到需要的信息

  • 資深大佬 : CallMeReznov

    @laike9m #26 怪我。。。我 py 版本 367 的。

  • 主 資深大佬 : laike9m

    @CallMeReznov #29 嗯,支持 Python 3.7+(过几天就支持 3.9 )。主要是因为用了一个 3.7 里新加的 API

  • 資深大佬 : xiaolinjia

    mark 一手,顺便能请问下是用了什么新特性导致只能 3.7+才能用吗,我也跟 ls 一样是 36 的。

  • 資深大佬 : janxin

    @laike9m 做 Go 的和这个完全不一样了,需要面向二进制配合符号做,部分功能恐怕需要魔改 runtime

  • 資深大佬 : xiri

    是不是不支持递归函数啊,刚刚随手拿裴波那契数列的递归写法试了一下,结果报 AssertionError 了,又试了几个其他的递归函数,无一例外全部报错。
    正常写法的函数都没问题,应该不是我的环境的原因吧

  • 主 資深大佬 : laike9m

    @xiri #33 非常感谢,能帮忙提个 issue 吗?我会尽快修复
    https://github.com/laike9m/Cyberbrain/issues/new

  • 主 資深大佬 : laike9m

    @xiaolinjia #31 https://docs.python.org/3.9/library/sys.html#sys.settrace 里的 `opcode` 事件

  • 資深大佬 : no1xsyzy

    @xiri 我来拍脑袋猜一下,一个被 @ trace 修饰的函数在被调用的过程中不允许再次调用被修饰的函数。
    试下先正常 def fib(n): 出来,然后 trace(fib)(n) 来执行?可能可以。

  • 資深大佬 : SimonOne

    我不太懂这些,不过这个变量可视化的部分和 https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer 有什么差别吗

  • 資深大佬 : xiri

    @laike9m 已经提了

  • 主 資深大佬 : laike9m

    @no1xsyzy #36 https://github.com/laike9m/Cyberbrain/issues/43

  • 主 資深大佬 : laike9m

    @SimonOne #37 哈哈,它们长得像是因为都用了 vis-network 这个可视化库

  • 資深大佬 : ruanimal

    挺感兴趣的,有设计文档吗

  • 主 資深大佬 : laike9m

    @ruanimal 这一版没有。。可以加一下 discord 我语音给你讲,链接在 readme 最底部

  • 資深大佬 : xuzheliang

    看到不支持 pycharm 心凉了一半….
    不过好东西,支持!

  • 主 資深大佬 : laike9m

    @xuzheliang 个人精力毕竟有限,只能依靠社区了。如果有人想开发 pycharm 我会尽力提供各种帮助

  • 主 資深大佬 : laike9m

    @xuzheliang 其实我平时也都是用 pycharm 的。。但是没办法谁叫 Web 前端好实现呢

  • 資深大佬 : ahonn

    看起来很棒,可惜不写 Python 。如果 JavaScript 也能有类似的东西就好了..

  • 主 資深大佬 : laike9m

    @ahonn 讲真,我觉得其它语言里比较难做。。没有语言层面的支持,上层拿不到需要的信息

  • 資深大佬 : CismonX

    好东西。。看的我都想做一个 PHP 的同类工具了

  • 主 資深大佬 : laike9m

    @CismonX good luck

  • 資深大佬 : zckevin

    Time travel 吗?

  • 資深大佬 : zrp1994

    @laike9m Star 了!学习一下怎么做 debugger

  • 資深大佬 : abersheeran

    这个调试器厉害了啊,变化来源追踪。star 送上~

  • 資深大佬 : hfutzj

    虽然最近写的少了,但是还是挺需要的,之前在 pycharm 挨个看,先 star

  • 資深大佬 : mwVYYA6

    看起来有点意思

  • 主 資深大佬 : laike9m

    @zckevin 没懂

  • 主 資深大佬 : laike9m

    @hfutzj 谢谢

  • 資深大佬 : beastk

    牛逼,支持 2.7.x 不

  • 主 資深大佬 : laike9m

    @beastk #57 不支持

  • 資深大佬 : user8341

    很有意思的项目

  • 資深大佬 : rapiz

    很有趣,帮顶支持一下

  • 資深大佬 : Felldeadbird

    6 !将 debug 的变量 GUI 化。 不知道对大项目支持度怎么样。

  • 主 資深大佬 : laike9m

    @Felldeadbird 目前因为只能追踪一个函数,所以还好,毕竟一个函数不会特别大。未来的版本会支持追踪函数中每个函数的调用,这时候可能就需要针对大项目进行优化。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具