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

如何从Qt Creator使用GDB进行远程调试?,qt,debugging,gdb,embedded-linux,gdbserver,Qt,Debugging,Gdb,Embedded Linux,Gdbserver,我正在开发一个嵌入式Linux应用程序,我想用GDB来调试它。问题是,尽管工具包配置看起来不错(调试器选项正确地指向与设备的GCC对应的GDB-设备是Linux ARM),但当我要求Qt Creator在调试模式下运行时,它在“应用程序输出”中返回一个错误: 这似乎很奇怪,因为,正如我所说的,配置很好,并且在启动调试模式之前的任何时刻,Qt Creator都没有报告任何关于这一点的错误 我在web上做了一些研究,以找到使用GDB从Qt Creator内部调试嵌入式Linux应用程序的确切步骤(使

我正在开发一个嵌入式Linux应用程序,我想用GDB来调试它。问题是,尽管工具包配置看起来不错(调试器选项正确地指向与设备的GCC对应的GDB-设备是Linux ARM),但当我要求Qt Creator在调试模式下运行时,它在“应用程序输出”中返回一个错误:

这似乎很奇怪,因为,正如我所说的,配置很好,并且在启动调试模式之前的任何时刻,Qt Creator都没有报告任何关于这一点的错误

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

您需要在主板上安装ssh和gdbserver,以便 这是我的工作。然后,您需要在中设置您的董事会[qt project.org] 造物主。之后,您需要使用 这个装置

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

  • 首先,如果套件应该指向我的本地GDB,为什么我需要在设备中安装GDB
  • 还是不应该
  • 我应该把GDB放在哪里
  • 如何知道我的设备上是否有此
    ssh
  • 如果我没有,我如何安装它
  • 所有其他提到的步骤都已经完成了,但是与我的桌面Ubuntu上的GDB相关。如果我执行上述步骤,是否应该更改某些内容

当然,这本手册是我的Tobias完成了还是我需要做些别的事情才能让它工作?

你需要在你的Ubuntu和设备上使用
gdb
ssh
gdbserver
sshd
:实际上,当你使用QtCreator在远程设备上部署项目时,它使用
ssh
将文件复制到目标,然后在设备上启动
gdbserver
(附加到要调试的可执行文件),然后在Ubuntu上启动
gdb
,连接到设备上正在运行的
gdbserver

所以,你需要所有这些来让事情顺利进行


ssh
gdb
可以通过
apt-get
安装到Ubuntu上。相反,在您的主板上安装
sshd
gdbserver
是特定于平台的:可能是某些主板已经在其标准系统映像中安装了它们,或者在某些情况下由您来安装它们。。。如果主板上的Linux发行版有一些包管理器,那么您可以尝试使用它。。。在最坏的情况下,您必须为您的电路板自行编译它们并手动安装。

谢谢您的回复;回答得好!唯一的问题是我无法找到这个
gdbserver
的下载链接;谷歌的大多数搜索结果只指向
GDB
,甚至维基百科页面也没有指向存储库或下载链接。那么,我如何/在哪里可以为我的嵌入式Linux下载它呢?当然,我说的是在我的嵌入式Linux设备中编译和安装的
gdbserver
;Synaptic可以在我的台式机上安装它(在本例中,它已经安装好了,但仍然不能按预期工作)。最后,我成功地进行了远程调试:)与我所做的和您所回答的唯一区别是,我不需要专门为我的外部设备编译
gdbserver
;我刚刚使用了
linux devkit
附带的一个,我正在使用它将我的应用程序编译到设备上,并将其复制到嵌入式linux中的
/usr/bin/
目录中(
chmod+x
以后需要)。@Momergil:很抱歉,我现在才读到你的评论。。。我很高兴你终于做到了!无论如何,
gdbserver
的源代码包含在
gdb
包中,因此如果您从中下载它,您也将拥有
gdbserver
。如果您认为我帮助了您,请考虑接受我的回答:“它确实有帮助,虽然我不必使用一个“定制的”代码<代码> gbServer < /Cube >,如前所述:
sh: gdbserver: not found