使用 Ubuntu 主机和 gdb 调试 QNX 目标
Debug QNX target using Ubuntu host and gdb
这是一个绝对初学者的问题。
我有一个 Ubuntu 14.04 主机,上面安装了 gdb 7.7.1 和一个为 qnx 交叉编译的项目。我还有一个 qnx 目标,我想在上面调试我的应用程序。
互联网上的说明告诉我在 PC 上使用 gdb
+ gdbserver
,但我没有安装 gdbserver,我认为我无法为 qnx 编译 gdb。我有一个叫做 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
时,它会尝试 运行 我的本地应用程序副本,而不是 运行瞄准目标。
无法使用 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。
这是一个绝对初学者的问题。
我有一个 Ubuntu 14.04 主机,上面安装了 gdb 7.7.1 和一个为 qnx 交叉编译的项目。我还有一个 qnx 目标,我想在上面调试我的应用程序。
互联网上的说明告诉我在 PC 上使用 gdb
+ gdbserver
,但我没有安装 gdbserver,我认为我无法为 qnx 编译 gdb。我有一个叫做 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
时,它会尝试 运行 我的本地应用程序副本,而不是 运行瞄准目标。
无法使用 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。