使用Ubuntu主机和gdb调试QNX目标

使用Ubuntu主机和gdb调试QNX目标,gdb,remote-debugging,qnx,gdbserver,Gdb,Remote Debugging,Qnx,Gdbserver,这是一个完全初学者提出的问题 我有一个Ubuntu 14.04主机,安装了GDB7.7.1,还有一个为qnx交叉编译的项目。我还有一个qnx目标,我想在上面调试我的应用程序 互联网上的说明告诉我在PC+gdbserver上使用gdb,但我没有安装gdbserver,我认为我无法为qnx编译gdb。我有一个叫pdebug的东西。qnx的说明告诉我gdb必须有目标qnx命令,它显然不存在 以下是我所做的: # Assuming that 255.255.255.255 is the target i

这是一个完全初学者提出的问题

我有一个Ubuntu 14.04主机,安装了GDB7.7.1,还有一个为qnx交叉编译的项目。我还有一个qnx目标,我想在上面调试我的应用程序

互联网上的说明告诉我在PC+gdbserver上使用gdb,但我没有安装gdbserver,我认为我无法为qnx编译gdb。我有一个叫pdebug的东西。qnx的说明告诉我gdb必须有目标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中运行”时,它尝试运行我的本地应用程序副本,而不是在目标机上运行。

没有人能用Ubuntu的gdb调试qnx应用程序

您必须使用qnx的gdb来实现这个目的,它能够运行目标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>

请参阅详细信息。

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

您必须使用qnx的gdb来实现这个目的,它能够运行目标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>
具体见此