Я могу получить разобранные инструкции с:
qemu-system-aarch64 -d in_asm
Образец формата:
----------------
IN:
0xfffffff0: ea 5b e0 00 f0 ljmpw $0xf000:$0xe05b
----------------
IN:
0x000fe05b: 2e 66 83 3e 88 61 00 cmpl $0, %cs:0x6188
0x000fe062: 0f 85 7b f0 jne 0xd0e1
но было бы также очень полезно, если бы я мог видеть значение регистров, участвующих в инструкции.
Например, при загрузке из памяти:
ldr x0, [x1]
Я хотел бы знать, в какое значение было загружено x0
, и в идеале также значение адреса, который был прочитан x1
.
Это возможно с -d
или -trace
или с каким-то другим механизмом трассировки?
Я видел некоторые связанные старые темы, и это не кажется многообещающим:
- https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg07479.html
- https://lists.gnu.org/archive/html/qemu-devel/2014-04/msg02856.html
- https://lists.gnu.org/archive/html/qemu-devel/2012-08/msg03057.html
Я знаю, как это сделать с помощью GDB, но полная трассировка будет очень медленной.