项目介绍#

概述#

OS Debug 是一款适用于操作系统开发的源代码级调试工具,实现了基于 QEMU 与实际硬件环境的操作系统的开发与调试。此工具支持跨内核态和用户态的源代码静态跟踪调试与跨内核态和用户态的性能分析检测,基于 VS Code 构建了远程开发环境,实现了断点静态断点调试与动态性能检测的功能结合。

项目背景#

操作系统的调试难度大通常是阻碍开发人员进行操作系统功能开发的重要因素。由于操作系统内核代码复杂,静态分析、动态分析都具有相当的难度,包括特权级切换,进程调度等。已有的集成开发环境通常面向应用程序的开发,对操作系统代码特别是新兴的 Rust 操作系统代码开发调试暂未提供良好的支持。如何提供方便、高效且可跨特权级跟踪的操作系统调试工具是待解决的关键问题。

基于以上背景,本工作将 GDB 与 eBPF 结合,实现用户态、内核态代码的静态断点调试与动态分析结合,提供了基于 VS Code 插件的调试器 OS Debug。为用户提供支持多种语言、方便 QEMU 与实际硬件上运行的操作系统的开发与调试。