使用Ubuntu主机和gdb

时间:2017-03-01 15:29:00

标签: gdb remote-debugging qnx gdbserver

这是绝对初学者的问题。

我有一个Ubuntu 14.04主机,其上安装了gdb 7.7.1,并为qnx交叉编译了一个项目。我也有一个qnx目标,我想调试我的应用程序。

互联网上的说明告诉我在PC + gdb上使用gdbserver,但我没有安装gdbserver,我也不认为我可以编译gdb QNX。我有一个叫pdebug的东西。 qnx的说明告诉我gdb必须有target qnx命令,显然它没有。

这就是我所做的:

# Assuming that 255.255.255.255 is the target ip and 1234 is the port
# On target
pdebug 1234

On host
gdb
gdb> target remote 255.255.255.255:1234

然后我又收到了一些警告和gdb>,这是正常的。

我设法在我的主机和目标之间安装了一个连接,但当我在gdb中点击run时,它会尝试运行我的应用程序的本地副本,而不是在目标上运行它。

1 个答案:

答案 0 :(得分:3)

用Ubuntu的gdb无法调试qnx应用程序。

你必须使用为此目的而构建的qnx' gdb,它能够运行target qnx以及您需要的许多其他命令。您必须在主机上使用qnx' gdb并在目标上使用pdebug并运行您运行的相同命令:

# on target
pdebug 1234

# on host
ntoarm-gdb
(gdb) file MyQnxApp
(gdb) target qnx 255.255.255.255:1234
(gdb) upload MyQnxApp /mnt/myWorkingDir/MyQnxApp
(gdb) b main
(gdb) r

然后您将看到有关您的连接的信息:

Remote debugging using 255.255.255.255:1234
Remote target is <your_endianness>

详见instructions