vmware新建一个虚拟机,硬盘为0.1G,建立完成后要先启动一次虚拟机,此时无任何系统,然后再关闭,应该会多出一个ostest-flat.vmdk这个虚拟磁盘文件,下面要用到
新建完成后 我的虚拟机叫OSTest,然后在虚拟机根目录下 有个OSTest.vmx配置文件,在关闭vmware的情况下 用notepad加入以下四句
debugStub.listen.guest32 = "TRUE"
monitor.debugOnStartGuest32 = "TRUE"
debugStub.hideBreakpoints = "TRUE"
bios.bootDelay = "3000"
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 进入 源代码级调试