arm-linux-gnueabihf-gdb 与 gdb-multiarch 的区别

15

我正在尝试从我的x86电脑对远程ARM设备(例如Beagle Bone Black)执行跨平台远程调试。

我使用的是Ubuntu 14.04和Eclipse CDT。

我安装了gcc-arm-linux-gnueabihf软件包,但其中并没有gdb调试器。(http://packages.ubuntu.com/precise/gcc-arm-linux-gnueabihf

因此,我想知道是否应该使用Linaro工具链(其中包括arm-linux-gnueabihf-gdb),还是应该安装gdb-multiarch软件包。

gdb-multiarch和arm-linux-gnueabihf-gdb之间有什么区别?使用gdb-multiarch更好吗?

ssinfod

2个回答

12

我从Linaro邮件列表收到了一个答案:

自Ubuntu 12.04起,gdb-multiarch被用作调试的gdb客户端。正如其名称所示,它是通用的客户端,适用于任何体系结构,而不仅限于ARM。

一般来说,所有的gdb客户端都是与体系结构无关的,因为体系结构相关的部分在gdbserver本身中处理。因此,除了名为arm-linux-gnueabihf-gdb之外,我猜它和gdb-multiarch一样。


2
我从linaro邮件列表中收到了另一个答案:
Linaro gdb的发布通常比Ubuntu的更新。例如,我们的最新版本是7.8,只有utopic才有,而不是trusty,因此,如果您计划使用Ubuntu LTS版本,则最好使用Linaro提供的gdb。 Linaro gdb还包含未在上游稳定分支中的修复和改进。历史上,Ubuntu经常也会选择这些更改,但情况可能并非总是如此。
gdb-multiarch显然支持除ARM之外的其他架构,因此,如果这对您有用,则使用它可能是有意义的。

感谢分享这个信息,我确实不确定发行版提供的gdb和Linaro提供的gdb之间有什么区别。因为两者都是客户端,在第一次观察时,我可以使用预安装的gdb客户端对ARM目标进行调试。 - v01d

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接