如何配置GDB TUI模式下显示的寄存器列表及格式?
解决aarch64-none-elf-gdb TUI模式自定义寄存器显示问题
临时配置(当前调试会话生效)
- 关闭默认全寄存器显示,启用自定义寄存器列表:
set print registers all off set print registers custom on - 添加需要显示的寄存器(可按需调整):
add-print-registers x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 sp pc esr_el1 - 关闭冗余十进制值显示,仅保留十六进制:
set print registers numeric-values off - 切换到TUI寄存器窗口验证:
输入layout regs打开寄存器窗口,或按Ctrl+X, O在TUI布局间切换,此时将只显示你指定的寄存器组。
永久配置(每次启动GDB自动生效)
将以下内容写入~/.gdbinit文件(MacOS下若文件不存在则直接新建):
set print registers all off set print registers custom on add-print-registers x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 sp pc esr_el1 set print registers numeric-values off
关于寄存器组显示混乱的补充
切换到M3环境后出现的寄存器显示无规律问题,多由版本兼容或目标架构配置导致:
- 确保QEMU启动时指定正确的ARM64目标核心,例如:
(qemu-system-aarch64 -machine virt -cpu cortex-m3 -kernel your_target.elf-cpu参数需匹配你的实际目标核心) - 更新
aarch64-none-elf-gdb到适配ARM64的最新稳定版本,避免旧版本对新架构支持不完善。
内容的提问来源于stack exchange,提问作者colinh
相关产品推荐
相关产品推荐

