1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      嵌入式Linux的GDB調試環境建立

      更新時間: 2014-12-17 09:33:58來源: 粵嵌教育瀏覽量:2916

      嵌入式Linux的GDB調試環境由Host和Target兩部分組成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。這樣,應用程序在嵌入式目標系統上運行,而gdb調試在Host端,所以要采用遠程調試(remote)的方法。

       一、建立安裝gdb組件

      從ftp://ftp.gnu.org/gnu/gdb上下載gdb套件,我下載的是gdb-5.2.1.tar.gz。假定在debug下編譯gdb套件,你前面已經設定了TARGET,PREFIX參數。其中TARGET是你的目標板,我的是arm-linux,PREFIX是你要安裝的目標文件夾。

      $tar xvzf gdb-5.2.1.tar.gz
      $mkdir debug/build-gdb
      $cd build-gdb
      $../gdb-5.2.1/configure --target=$TARGET --prefix=$PREFIX
      $make
      $make install
      然后建立gdbserver。
      $mkdir debug/build-gdbserver
      $cd build-gdbserver
      $chmod +x ../gdb-5.2.1/gdb/gdbserver/configure
      $CC=arm-linux-gcc ../gdb-5.2.1/gdb/gdbserver/configure
      >--host=$TARGET --prefix=$TARGET
      $make
      $make install

      使用arm-linux-strip命令處理一下gdbserver,然后將之復制到你的根文件系統的/usr/bin下,建立ramdisk盤。

       二、調試步驟

      1、交叉編譯,帶參數-g加入調試信息。

        假設要調試的程序為test.c。

      #arm-linux-gcc -g test.c -o test

      2、在Target Board開啟gdbserver

      #gdbserver  <host-ip>:2345 test
      gdbserver開始監聽2345端口(你也可以設其他的值),然后啟動test,你會看到“Process test created:pid=157”

      3、回到Host端

      #arm-linux-gdb test

        一行顯示:This GDB was configured as “--host=i686-pc-linux-gnu,--target=arm-linux”...
      說明此gdb在X86的Host上運行,但是調試目標是ARM代碼。

      (gdb)target remote <target-board-ip>:2345

        注意:你的端口號必須與gdbserver開啟的端口號一致,這樣才能進行通信。

        建立鏈接后,就可以進行調試了。調試在Host端,跟gdb調試方法相同。注意的是要用“c”來執行命令,不能用“r”。因為程序已經在Target Board上面由gdbserver啟動了。結果輸出是在Target Board端,用超級終端查看。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲一区二区中文欧美 | 日韩国产欧美精品一区二区 | 亚洲成a人片77777国产 | 亚洲日韩欧洲不卡在线观看 | 亚洲国产欧美在线观看 | 亚洲精品色国语对白在线 |