抄写Linux源码(Day8:Linux0.11 调试方法)

按照 Day1 成功运行 Linux0.11 之后

在 ~/oslab 下可以看到如下图:抄写Linux源码(Day8:Linux0.11 调试方法)_第1张图片

此时除了直接运行 run 来运行 Linux0.11 之外,还可以配合使用 dbg-c 和 rungdb,使用 gdb 连接 bochs,来调试 Linux0.11。

dbg-asm 是用来进行汇编级调试的,而 dbg-c 根据名字猜测应该是进行 C 源码级调试的

在运行 dbg-c 后,我无法通过 rungdb 启动 gdb 连接 bochs,但是我可以直接运行 gdb,随后输入

target remote localhost:1234

来连接 gdb 和 bochs

根据 gdb 显示的调试信息来看,bochs 所运行的内核在编译阶段并没有添加调试信息,我们只能看到内存地址,但是我们可以在 ~/oslab/linux-0.11/System.map(这是个文本文件) 这里看到内存地址和符号的对应关系,从而帮助我们定位到相应的 C 文件、C 函数。

你可能感兴趣的:(抄写Linux内核源码,linux)