可以配置在 gdb tui 中(精确地)显示哪些寄存器以及如何显示吗?

问题描述 投票:0回答:1

我已经使用 aarch64-none-elf-gdb 来调试在 qemu 上运行的 ARM 代码(全部在 MacOS Intel 上,但现在是 M3)有一段时间了。这有点不愉快,但可行。

然而,最近 gdb 一直在显示(显然)随机的寄存器组:有时是 x0-x22 和一些系统寄存器,有时是 x0-x30 和 SP 等,有时是很多系统寄存器,有时只有几个(而不是那些已经改变并且我需要)。

现在我正在使用 tui 模式,这基本上没问题 - 但有太多寄存器(并且我不想要的十进制值与十六进制值一起打印)。

有办法配置显示哪些寄存器吗?

例如,我想要(仅限十六进制):

x0-x30、SP、PC、ESR_EL1、ELR_EL1、FAR_EL1、CPSR、SPSR_EL1、CNTP_CVAL_EL0 等

但是不是

ID_AA64ISAR5_EL1_RESERVED、VMPIDR_EL2 和大多数其他 207 系统寄存器!

assembly gdb qemu arm64 cpu-registers
1个回答
0
投票

看起来我需要修补 Qemu 代码,特别是:target/arm 中的文件。具体来说,gdbstub64.c中动态生成XML目标描述

这个问题的答案指明了道路...

© www.soinside.com 2019 - 2024. All rights reserved.