用调用图分析器找出 Rust 二进制里哪些函数会 panic
来源:tweedegolf.nl — 2026-10-27
📋 概述
Tweede Golf 在 Open Device Partnership 框架下与微软合作发布 Call Graph Analyzer(CGA),从单态化后的 MIR 抽取出调用图,用来判断编译产物中哪些函数可能 panic;cargo cga check 会直接报出可能 panic 的方法调用和所在行。文章也坦白代价:这种静态分析在精度与覆盖率上与既有方案各有胜负,并不打算成为唯一答案,而是给「如何消除 Rust 代码里的 panic」这个反复被问到的问题提供新的量化手段。
🔑 核心要点
- 分析输入是单态化后的 MIR,不依赖源码里的额外标注。
- cargo cga check 直接定位可能 panic 的调用与行号。
- 项目在 Open Device Partnership 下与微软共同开发并已开源。
- 新方法在精度和覆盖面两方面与既有工具各有取舍。
💡 金句
We often get asked "How can I eliminate panics in my Rust code?"
👍 0
👎 0
← 返回 Hacker News 首页