2017-03-01 41 views
0

這是絕對初學者的問題。使用Ubuntu主機和gdb調試QNX目標

我有一個Ubuntu 14.04主機,gdb 7.7.1安裝在它上面,一個項目交叉編譯爲qnx。我也有一個qnx目標,我想調試我的應用程序。

互聯網上的說明告訴我在PC + gdbserver上使用gdb,但我沒有安裝gdbserver,我不認爲我可以編譯gdb for 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時,它試圖運行我的本地應用程序副本,而不是在目標上運行它。

回答

0

沒有辦法用Ubuntu的gdb調試qnx應用程序。

您必須使用qnx的gdb爲此目的而構建,即可以運行target qnx以及其他許多您需要的命令。你必須使用你的主機上QNX的gdbpdebug你的目標,並運行你跑同樣的命令:

# 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