利用GDB在遠端開發機進行除錯

2021-06-22 13:17:18 字數 707 閱讀 3770

由於一些環境的制約,很多同學都可能需要在開發機上進行除錯,但由於開發機資源的限制,在開發機上直接進行本地的gdb環境配置就成了難題,這個時候其實我們可以利用gdb中自帶的gdbserver工具就可以進行遠端開發機的除錯。

gdbserver可以走網路,串列埠等通訊機制,對於網路來說支援ip:prot格式執行。比如你的開發機所在ip是192.168.3.11,你的機器是192.168.3.1,這個時候你首先先下好gdb的原始碼,然後進入到gdb_src/gdb/gdbserver目錄下進行./configure --host=arm-linux-gnueabi,make,make install之後,你用file來檢視一下當前的gdbserver是否是arm格式,因為最終你的gdbserver是需要執行在開發機的,所以必須是arm格式。

而你的gdb因為之後是在你的機器上執行,所以依然是x86格式,只是他的target也顯示設定成arm,即在gdb_src/下,configure --target=arm-linux-gnueabi,make,make install,這樣你就完成了gdb和gdbserver的安裝。

在開發機上傳好相關的gdbserver之後,./gdbserver 192.168.3.11:1234 ./test這樣就開啟了開發機的遠端除錯介面,這個時候在客戶機上進入之前編譯好的gdb,然後輸入target remote 192.168.3.11:1234,即完成了開發機和你主機的對接,接下來的事情就是gdb除錯的事情了

利用終端進行GDB除錯

眾所周知,除錯的辦法有 折半插斷點輸出的方式,還有區域性注釋編譯執行的方式之外,就是gdb除錯了 現總結gdb除錯中常用的語句操作。首選,利用終端編譯檔案的時候,需要使用選擇項 g 編譯可執行檔案,不然的花,無法進行gdb除錯 gdb的基本語句 命令 list 顯示區域性 b 行號 在第幾行插入斷點...

利用GDB進行多執行緒除錯

一 多執行緒除錯 多執行緒除錯重要就是下面幾個命令 info thread 檢視當前程序的執行緒。thread 切換除錯的執行緒為指定id的執行緒。break file.c 100 thread all 在file.c檔案第100行處為所有經過這裡的執行緒設定斷點。set scheduler loc...

利用GDB進行多執行緒除錯

一 多執行緒除錯 多執行緒除錯重要就是下面幾個命令 info thread 檢視當前程序的執行緒。thread 切換除錯的執行緒為指定id的執行緒。break file.c 100 thread all 在file.c檔案第100行處為所有經過這裡的執行緒設定斷點。set scheduler loc...