https://github.com/swananan/ghostscope这个项目有点类似于中年钓鱼的爱好,没想过有经济上的收益,也没有去蹭 AI 风口,纯属自娱自乐。不过之前由于这个项目可能太自嗨了,基本用户只有我一个人,平时工作时候,偶尔拿出来玩一玩。但是在编译器高优化选项下,程序优化的太厉害,追踪能力一直有 bug ,我就一直没有动力继续搞了。
前一阵子 gimli 库的维护者 philipc ,给我提了一个 pr ,帮我这个项目升级到了 gimli 最新版本,还顺手给我指出一个调试信息( DWARF)处理的 bug ,这让我突然又有动力继续搞起来了,至少有大佬看过我的玩具😂。
我最近除了优化了下高优化下的调试能力,包括内联函数之类的(后面我可能还会借鉴学习下 perf probe 的实现细节)。更多的是强化了这个工具的命令行模式,我本来主要想法是做成 TUI ,类似于 cgdb 那么使用的(但是 AI 时代下,我已经几个月没有用 cgdb 了,都是让 AI 给我写 GDB 脚本)。
命令行的好,AI 时代大家都懂。更方便的是,我搞了个 skill ,让 AI 来根据需要被追踪项目的源码来编写 GhostScope 脚本,也不需要用户学习 GhostScope 的脚本语法了。说实话,自研小语言,确实有点自嗨,不尊重用户(谁会去想学那些乌七八糟的小语言)。
我现在自己平时工作用的还蛮开心的,动不动指挥 Claude code 写个脚本来追踪我开发功能的细节,所以还是继续发帖来交流下。特别是想找点有共同爱好的人,可以一起打磨这个项目。目前这个项目只对 c 语言支持比较好,我后面除了基于 eBPF 的栈回溯之后,还想多支持一些 Rust 的高级语言特性,(话说要是把 async 给拿下,那就有点碉堡了,感觉工作量巨大)。