Mozilla 正在用 Rust 编程语言重写 Firefox 的崩溃报告程序。Mozilla 工程师 Alex Franchuk 在 Mozilla Hacks 上撰文,详细介绍了他们如何使用 Rust 编程语言将崩溃报告器重写为跨平台 GUI 应用程序。
虽然时至今日 Firefox 崩溃的情况已经有所减少,但 Mozilla 工程师认为,重写崩溃报告程序对深入了解崩溃情况非常重要。由于现有的崩溃报告器错误库"困难且容易出错",他们决定用 Rust 进行重写。
崩溃报告程序有意不使用现有的 Firefox 代码库,并根据崩溃报告的性质保持最小的代码库,同时提供跨平台的原生外观,Linux 上的新崩溃报告程序则将继续使用 GTK 工具包。
在详细介绍了基于 Rust 实现的所有有趣的技术细节后,他们展示了新的崩溃报告 GUI:
通过这一新的、清理过的崩溃报告程序,项目团队解除了对许多功能请求和错误报告的限制,例如:
- 检测安装是否损坏并告诉用户重新安装 Firefox,
- 检查崩溃系统上是否存在有故障的内存硬件,以及
- 首次尝试使用 Firefox 网络堆栈提交崩溃信息(遵循用户的网络设置,如代理)
更多详细信息,可访问 Mozilla Hacks 博客。