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 進入 原始碼級除錯