gdbserver:目标描述指定了未知的体系结构“ aarch64”

时间:2018-11-28 17:00:29

标签: debugging arm gdbserver

我尝试如下远程使用gdbserver进行调试

在目标计算机上启动gdbserver

$ gdbserver localhost:2000 hello -l 20 -b 10 --enable-targets=all

主机已启用调试的程序二进制文件

"copied binary from ARM target to host" 

在主机上运行gdb

$ gdb -q --args hello --enable-target=all

连接到目标

(gdb) target remote 192.168.15.132
192.168.15.132: No such file or directory.
(gdb) target remote 192.168.15.132:2000
Remote debugging using 192.168.15.132:2000
warning: while parsing target description (at line 11): Target description specified unknown architecture "aarch64"
warning: Could not load XML target description; ignoring
Remote register badly formatted: T051d:0000000000000000;1f:80fcffffffff0000;20:403cfdb7ffff0000;thread:pd60.d60;core:1;
here: 00000000;1f:80fcffffffff0000;20:403cfdb7ffff0000;thread:pd60.d60;core:1;
(gdb) q

我正在寻找有关使用ARM远程目标进行正确调试的建议。

2 个答案:

答案 0 :(得分:1)

要调试为其他体系结构编译的可执行文件,请安装gdb-multiarch并运行gdb-multiarch而不是gdb。不同的发行版对gdb的编译方式有所不同,有些甚至在其存储库中缺少RHEL doesn't include it的multiarch版本,但是它存在于Ubuntu和Debian中。

答案 1 :(得分:0)

您似乎正在尝试使用以x86_64为目标的gdb版本远程调试aarch64-linux-gnu可执行文件。我建议下载/安装gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz

wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
tar Jxvf  gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C /opt

,然后使用/opt/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb远程调试程序。