如何使用Qt Creator中的GDB进行远程调试?

Mom*_*gil 5 debugging qt gdb embedded-linux gdbserver

我正在研究嵌入式Linux应用程序,我想使用GDB来调试它.问题是,尽管Kit配置看起来很好(调试器选项正确指向与设备的GCC相对应的GDB - 设备是Linux ARM),当我要求Qt Creator在调试模式下运行时,它会返回错误"申请表":

sh: gdbserver: not found
Run Code Online (Sandbox Code Playgroud)

这看起来很奇怪,因为我很遗憾,配置很好,Qt Creator在启动调试模式之前的任何时刻都没有报告错误.

我在网上做了一些研究,找到了使用GDB从Qt Creator中调试嵌入式Linux应用程序的确切步骤(使用断点等),最接近我得到的答案是Tobias Hunger的评论:

您需要在主板上安装ssh和gdbserver才能使其正常工作.然后你需要在Creator中设置你的主板[qt-project.org].之后,您需要使用此设备设置套件[qt-project.org].

我想,这些步骤对我来说并不清楚.

  • 首先,如果Kit指向我的本地GDB,为什么我需要在设备内部安装GDB?
  • 或者不应该?
  • 无论如何我会把GDB放在哪里?
  • 我怎么知道ssh我的设备上是否有这个?
  • 如果我不这样做,我该如何安装呢?
  • 所有其他提到的步骤已经完成,但与我的桌面Ubuntu上的GDB有关.如果我执行上述步骤,我应该改变一下吗?

当然,这本手册是我的托比亚斯完成的还是我需要为此工作做些其他事情?

Mor*_*Dev 7

你需要gdbssh你的Ubuntu和gdbserversshd您的设备上:其实当你部署使用QtCreator在远程设备上的一个项目,它利用ssh了复制到目标文件,然后启动gdbserver设备(连接到你想要的可执行文件上调试)然后启动gdb你的Ubuntu连接到gdbserver设备上运行.

所以你需要他们所有人才能让事情发挥作用.

ssh并且gdb可以通过简单地安装在您的Ubuntu上apt-get.相反sshd,gdbserver在您的主板上安装和安装是特定于平台的:可能是某些主板已经将它们放在标准系统映像中,或者在某些情况下由您来安装它们...如果您的Linux发行版在董事会有一些软件包管理器然后你可能会尝试使用它...在最坏的情况下,你必须自己编译它们的电路板并手动安装它们.