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 给拿下,那就有点碉堡了,感觉工作量巨大)。