使用Windows的QNX目标的远程调试二进制文件

时间:2018-12-23 21:24:00

标签: remote-debugging qnx

我想调试一个以QNX x86为目标的预编译且封闭源代码的二进制文件。主机正在运行win 10 x64。

有问题的二进制文件(简称为hdd)需要一堆库,这些库可在同一目录(/ root)中使用。如果我在本地登录qnx机器并调用./hdd命令,它将找到每个库并正确运行。稍后,我需要从一些参数开始,但是第一步是要使其首先运行。通过搜索文档,我找到了一种指定args的方法。但首先要注意。

在qnx上,我运行:

pdebug 123

在Windows计算机上,我启动了:

C:\qnx660\host\win32\x86\usr\bin\ntox86-gdb.exe
target qnx ip:123

到目前为止,太好了。但是现在麻烦开始了。我花了好几个小时的时间,但是我找不到方法告诉系统“使用远程目录/ root”来工作,二进制文件和所有库都在那里。我使用set nto-cwd,但是它要么由于缺少库而崩溃,要么无法在远程目标上找到二进制文件。

实际上,我不确定这是否可能。我发现的所有文档和教程都依赖于带有调试符号的二进制文件,而我没有。此外,我对命令行调试不是很有经验,我习惯于至少拥有最小的gui(例如ollyDbg)。我有一个qnx矩的工作试用版,我是否也可以将它用于最小的gui?

谢谢。

2 个答案:

答案 0 :(得分:0)

QNX Momentics具有基于gdb的内置调试功能。在调试模式下以creating a launch configuration开始。选择要调试的二进制文件和QNX目标的IP地址。

按下运行按钮时,Momentics在目标QNX上运行二进制文件,您将立即在IDE上看到输出。

答案 1 :(得分:0)

尝试CD到/ root,然后在此处启动pdebug。然后在GDB中,您不需要cd ...这应该可以解决从/ root加载Lib的问题。