linux-0.11抠代码-GDB+VMWARE
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 进入 源代码级调试
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步