按照 Day1 成功运行 Linux0.11 之后
在 ~/oslab 下可以看到如下图:
此时除了直接运行 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 函数。