1. 程式人生 > >搭建嵌入式Linux gdb環境

搭建嵌入式Linux gdb環境

Linux應用程式可以使用gdb除錯,可設定斷點檢視程式碼指定位置變數狀態。

  • 準備

Buildroot:下載buildroot到宿主機上。其是一個可以通過配置即編譯其它工具的工具,不需要管編譯工具時依賴的庫檔案,該工具會自動下載。

arm-linux-gcc:buildroot編譯後在 buildroot/output/host/bin目錄下。Gdb除錯的程式碼必須使用此交叉編譯器編譯。

gdbserver:在buildroot/output/host/arm-buildroot-linux-gnueabi/debug-root/usr/bin/目錄下,可以使用find ./ -name "gdbserver"命令查詢。使用時需要將該工具拷貝到目標機linux系統上。

arm-linux-gdb:在buildroot/output/host/bin/目錄下,在宿主機上執行gdb客戶端。

rootfs:在buildroot/output/image路徑下,目標機需要使用該根檔案系統,裡面包含gdbserver以及應用程式需要的庫檔案。

test_app: 被除錯的gdb程式,編譯時需要加上-g選項。

二、buildroot配置編譯

Buildrroot配置(命令 make menuconfig)

Arm架構選擇

庫、核心頭、c++配置

配置生成gdbserver

編譯(直接輸入make)

三、重新制作根檔案系統

將rootfs解壓後,製作成根檔案系統,並下載到目標板上。

四、生成除錯檔案

編寫測試檔案並生成可執行檔案,編譯時加-g選項,使用buildroot生成gcc。將檔案拷貝到目標板上。

五、連線

     確定目標板與宿主機在同一網段,並且能互相ping通,關閉主機防火牆。

     在目標板上執行 ./gdbserver  192.168.47.189:1234 test_app    //此處為目標板IP

     主機上執行 arm-linux-gdb 進入gdb命令輸入模式,再輸入target remote 192.168.47.189:1234