我在 RHEL 中安装了 QEMU,以便在 ARM 中运行汇编程序。我已经成功安装了QEMU和ARM。然而,为了调试,我们正在考虑使用 GDB。我想安装GDB-多架构在 RHEL 中。我已经安装了 GDB,当我运行命令时广东发展银行我已成功获取 GDB shell。但是,我需要使用GDB-多架构我无法运行这个命令。要成功运行汇编程序,我需要执行以下命令。
qemu-system-arm -S -s -M versatilepb -daemonize -m 128M -d in_asm,cpu,exec -kernel hello_world.bin ; gdb-multiarch --batch --command=hello_world.gdb
在上面的命令中,我收到错误 gdb-multiarch 命令为未找到。我对这个环境真的很陌生,我非常感谢您的帮助。
答案1
已经有一段时间了,但我刚刚遇到这个问题并找到了解决方案。首先,如上所述,gdb-multiarch 软件包目前在 Debian 发行版中可用,但在 RHEL 中还没有(当前版本是 RHEL 9)。我使用的是 RHEL 7,下面的解决方案适用于 RHEL 7,但您可以通过安装类似的软件包找到适用于其他 RHEL 版本的解决方案。
- 安装开发工具集-11(如果用yum找不到devtoolset-11,可以直接从这里下载关联)
- 如果您之前安装过较旧的 gdb 软件包,则需要激活 devtoolset-11 gdb 版本。为此,请运行“
scl enable devtoolset-11 bash
”命令 - 使用“”检查gdb版本
gdb -v
。结果应该是;
“GNU gdb (GDB) 红帽企业 Linux 10.2-6.el7
版权所有 (C) 2021 自由软件基金会, Inc.”
gdb
使用“ ”命令启动 gdb 会话- 运行命令连接远程目标:“
target remote localhost:1234
” - 如果没有收到错误,则说明您已准备好进行调试。