我正在爲intel x86架構編寫VMM。大多數代碼包含x86平臺特定的彙編和c代碼。有人可以幫助我如何調試彙編代碼,請包括硬件數據結構。如何調試x86彙編
1
A
回答
1
如果此VMM應該在Windows主機上運行,則應該能夠使用Visual Studio調試程序集。
如果你的問題是你不熟悉VMCS,GDT,LDT,IDT,TSS等必要的硬件結構,那麼我建議你花點時間熟悉IA32,尤其是Software Developer's Guide 。這是一個長時間的閱讀與許多細節,但我沒有看到你如何編寫一個沒有它的VMM。
+1
其實問題是調試x86指令。目前我正在做的是檢查eax,ebx,ecx等指令並打印出來。有沒有更好的方法來調試呢? – brett 2010-09-27 16:41:16
+0
在哪方面更好?你沒有調試器可以調試你的代碼或什麼? – 2012-03-20 19:14:10
1
使用GDB進行調試適用於x86,如果需要,可以使用-tui開關打開TUI,如果它使事情變得更簡單。
我找到關於此主題的文檔是相當繁瑣的進行搜索,所以這裏是快速和骯髒的,讓你開始:
run start program execution
break function-name set breakpoint at function-name
clear function-name clear breakpoint at function-name
continue continue execution after breakpoint
si next instruction, enter functions
ni next instruction, doesn’t enter functions
disassemble function-name display function’s code
info registers display values in registers
display variable-name show value of variable-name on breakpoint
print variable-name show value of variable-name
p $register or the value of register
p/x, p/d, p/c, p/f … as hex, signed int, char, float
x address examine memory at address
x &variable-name examine value of variable-name
相關問題
- 1. 彙編x86測試si
- 2. x86彙編錯誤
- 3. x86彙編語言
- 4. x86-64 GNU彙編
- 5. .NET - NGEN編譯x86彙編
- 6. 如何在彙編x86中用ml彙編多個文件?
- 7. 如何反彙編原始x86代碼?
- 8. 如何調試彙編程序?
- 9. intel x86彙編到C
- 10. x86彙編分段錯誤
- 11. 彙編語言x86 Irvine32
- 12. x86彙編參考手冊
- 13. 困惑在x86彙編
- 14. x86彙編學習平臺
- 15. x86 intel操作碼彙編
- 16. x86彙編程序問題
- 17. x86或x64反彙編LIB
- 18. 由x86彙編語法
- 19. 彙編X86語言問題
- 20. x86彙編轉換基數
- 21. 解密x86彙編函數
- 22. x86彙編替代陣列
- 23. 調試反彙編代碼
- 24. NASM彙編調試器
- 25. 調試x86與只調試
- 26. 如何調用匯編
- 27. 嘗試重新使用寄存器x86彙編時發生Segfault
- 28. x86彙編寄存器地址
- 29. 關於圖形的x86彙編練習
- 30. 彙編語言的x86歐文
有你遇到的任何具體問題? – 2010-09-27 07:29:41
@Nathan Fellman另外我的VMM運行在裸機上,並且運行在Linux操作系統上。 – brett 2010-09-27 18:38:39