linux-0.11抠代码-GDB+VMWARE

时间:2023-03-08 22:15:07
linux-0.11抠代码-GDB+VMWARE

vmware新建一个虚拟机,硬盘为0.1G,建立完成后要先启动一次虚拟机,此时无任何系统,然后再关闭,应该会多出一个ostest-flat.vmdk这个虚拟磁盘文件,下面要用到linux-0.11抠代码-GDB+VMWARE

新建完成后 我的虚拟机叫OSTest,然后在虚拟机根目录下 有个OSTest.vmx配置文件,在关闭vmware的情况下 用notepad加入以下四句

debugStub.listen.guest32 = "TRUE"
monitor.debugOnStartGuest32 = "TRUE"
debugStub.hideBreakpoints = "TRUE"
bios.bootDelay = "3000"

linux-0.11抠代码-GDB+VMWARE

debugStub.listen.guest32 = "TRUE"
monitor.debugOnStartGuest32 = "TRUE"
debugStub.hideBreakpoints = "TRUE"
bios.bootDelay = "3000"

然后将boot.bin 引导文件 写入到OSTest-flat.vmdk中,注意不是OSTest.vmdk,一般有个xxx-flat.vmdk的。。。

然后启动虚拟机,此时虚拟机黑屏等待gdb调试器的连接。

下载gdb for windows

注意上面boot.bin的编译,gcc -c -g 要有-g 参数,ld 不能有-s参数,具体可以参考我上面一篇文章。

生成的boot.bin有一个伴随的文件叫boot.elf,gdb boot.elf ,gdb调试会进入gdb命令行,然后输入 target remote localhost:8832 进入 源代码级调试

linux-0.11抠代码-GDB+VMWARE