需要跨设备的gdb

Ale*_*x F 10 gdb embedded-linux

我在Ubuntu 12.04上安装了gcc-arm-linux-gnueabihf交叉编译器,现在我可以为嵌入式设备构建一个程序.我在哪里可以找到交叉gdb进行调试?

gcc-arm-linux-gnueabihf引用包含相关包列表中的gdb-arm-linux-gnueabihf,它似乎是我正在寻找的调试器.但是这个套餐不可用.

sco*_*ttt 15

我建议从Linaro工具链而不是Ubuntu存储库中获取gdb.从这里下载gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux.tar.bz2 ,你会发现:

  • bin/arm-linux-gnueabihf-gdb
  • arm-linux-gnueabihf/debug-root/usr/bin/gdbserver

后者是静态链接的,当然是为ARM Linux构建的.

假设您已将网络设置到目标板,请复制gdbserver到它并运行:

$ gdbserver --multi :2345
Run Code Online (Sandbox Code Playgroud)

在您的开发机器上,运行:

$ arm-linux-gnueabihf-gdb
(gdb) target extended BOARD-IP-ADDR:2345
(gdb) set remote exec-file /bin/true
(gdb) run
Run Code Online (Sandbox Code Playgroud)

并且您已启动并运行远程交叉调试.

链接到Linaro bug跟踪器,邮件列表和Web论坛都在这里.从他们的发行说明中可以看出,他们在ARM Linux工具链,内核,QEMU开发方面非常活跃.

  • 谢谢,搞定了。很高兴看到本论坛中有嵌入式开发人员。 (2认同)

小智 5

您需要安装gdb-multiarch软件包,然后运行gdb-multiarch命令以远程调试目标。