我正在爲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. POPF x86彙編
- 3. x86彙編編程函數調用
- 4. x86彙編語言
- 5. x86-64 GNU彙編
- 6. 功率x86彙編
- 7. x86彙編錯誤
- 8. x86彙編添加
- 9. x86彙編代碼
- 10. .NET - NGEN編譯x86彙編
- 11. 如何在彙編x86中用ml彙編多個文件?
- 12. 如何反彙編原始x86代碼?
- 13. 如何調試彙編程序?
- 14. 困惑在x86彙編
- 15. 使用x86彙編語言
- 16. intel x86彙編到C
- 17. x86彙編,MOVSD段錯誤
- 18. x86或x64反彙編LIB
- 19. 彙編代碼的x86
- 20. x86彙編分段錯誤
- 21. x86彙編,交換語法
- 22. x86彙編,增加和子
- 23. 打印x86彙編列表
- 24. 的彙編參數(X86,ATT)
- 25. x86彙編參考手冊
- 26. shrl vs sarl .. x86彙編gnu
- 27. 由x86彙編語法
- 28. x86彙編學習平臺
- 29. x86彙編:浮點比較
- 30. x86 intel操作碼彙編
有你遇到的任何具體問題? – 2010-09-27 07:29:41
@Nathan Fellman另外我的VMM運行在裸機上,並且運行在Linux操作系統上。 – brett 2010-09-27 18:38:39