Я пишу VMM для архитектуры intel x86. Большая часть кода содержит сборку платформы x86 и код c. Может ли кто-нибудь помочь мне отладить код сборки, включая аппаратные структуры данных.как отладить сборку x86
ответ
Если этот VMM должен работать на хосте Windows, вы должны иметь возможность отлаживать сборку с помощью Visual Studio.
Если ваша проблема в том, что вы не знакомы с необходимыми аппаратными структурами, такими как VMCS, GDT, LDT, IDT, TSS и т. Д., То я предлагаю вам потратить время на ознакомление с IA32, особенно Software Developer's Guide , Это длинное чтение со многими подробностями, но я не вижу, как вы можете написать VMM без него.
На самом деле проблема заключается в отладке инструкций x86. в настоящее время я занимаюсь проверкой инструкций eax, ebx, ecx etc и их печатью. Есть ли лучший способ отладки этого? – brett
Лучше в каком отношении? У вас нет отладчика, который может отлаживать ваш код или что? –
Использование 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. Как отладить аварийную сборку релиза?
- 2. Как отладить неудачную сборку Android Gradle?
- 3. Как я могу отладить неудачную сборку ci?
- 4. конвертировать псевдокод в сборку x86
- 5. Как скопировать массив в сборку nasm x86?
- 6. Как эмулировать сборку x86 Linux на Windows
- 7. Как добавить цифры числа в сборку x86
- 8. x86 Вход в сборку клавиатуры без INT
- 9. Ссылка на сборку x86 в 64-битном
- 10. ILMerge выдает сборку с процессоромArchitecture = x86
- 11. Как отладить веб-приложение asp.net, не нарушая сборку релиза?
- 12. Как перенести результат mul из двух поплавков в сборку x86?
- 13. Как исправить размер окна вывода через сборку x86 для окон
- 14. Как вы добавляете CH в EAX в сборку x86?
- 15. Как отладить Java UnsatisfiedLinkError?
- 16. Как я могу установить установщик x86 x86 x86 на x64?
- 17. Почему я не могу отладить динамически загруженную сборку?
- 18. Как отладить MIPS-эльф?
- 19. Можете ли вы отладить сборку sbt в IntelliJ
- 20. Простой способ конвертировать c-код в сборку x86?
- 21. Каково состояние компиляторов, которые генерируют сборку X86 сегодня?
- 22. Почему DLL из проекта PCL представляет собой сборку x86?
- 23. Looping Through при добавлении элементов из массива в сборку x86
- 24. Возможно ли запустить сборку x86 в операционной системе x64?
- 25. Как отладить ссылочную именную DLL?
- 26. Как отладить программу OpenCV без DLL Nvidia?
- 27. Buildbot: как вручную запустить сборку?
- 28. Как отладить код LLVM с помощью lldb?
- 29. Как отладить программу MPI?
- 30. Как отладить NSFetchRequest
Есть ли какие-либо конкретные проблемы Вы сталкиваетесь? –
@Nathan Fellman Также мой VMM работает на голом оборудовании и на вершине работает операционная система linux. – brett