gdb 遠端除錯

2021-07-26 05:21:35 字數 905 閱讀 5859

1.首先把在宿主機上 編譯 arm-fsl-linux-gnueabi-gcc

主機的ip為192.168.1.202

目標板的ip為192.168.1.136

2.然後把目錄通過nfs 載入到目標板上:  mount -t nfs 192.168.1.202:/home/duan/nfs /mnt/nfs -o nolock

3.在目標板上開啟gdb服務

gdbserver:2000+需要除錯的檔案  //2000為埠號 可以自己定義

目標板會顯示為:

gdbserver :2000 armbugging1                                  

process armbugging1 created; pid = 1276                                         

listening on port 2000

4.在主機上啟動arm-linux-gdb程式 並裝載需要除錯的檔案:

arm-fsl-linux-gnueabi-gdb armbugging1

target remote 192.168.1.136 :2000

目標板上會顯示:

remote debugging from host 192.168.1.202

現在就可以進行gdb除錯了

但是:你輸入run命令會出現:the "remote" target does not support "run".  try "help target" or "continue".

原因是

target remote 的方式遠端不能用 run

應該使用continue執行程式,必須先load程式

也可以  (gdb) b main

(gdb) c

GDB遠端除錯

3.建立配置檔案 編譯 gdb允許把編譯配置和編譯結果放到任意的目錄,因此可以在gdb目錄之外建立乙個專門存放編譯結果的目錄。cd opt mkdir p arm gdb build cd arm gdb build opt gdb 6.6 configure target arm linux pr...

遠端gdb除錯

在主機上準備目標機的gdb,例如目標機為arm,則準備arm linux gdb 目標機上需要安裝gdbserver 在目標機上用gdbserver執行程式 gdbserver 127.0.0.1 2345 test 注意,待除錯的程式編譯時需要加上 g 引數。在主機上發起鏈結和除錯 進入gdb g...

gdb 遠端qemu arm除錯

把 c 編譯成 arm 指令的可執行檔案 usr bin arm linux gnueabi g hello.cpp cat hello.cpp include void crash int main 直接執行報錯,因為 host 是 linux x86 a.out bash a.out canno...