新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 建立ARM+Linux應用程序調試環境

        建立ARM+Linux應用程序調試環境

        作者: 時間:2016-11-09 來源:網絡 收藏
        Gdb+gdbserver+insight環境的搭建
        1.下載gdb源代碼http://ftp.gnu.org/gnu/gdb/

        2.配置安裝gdb+gdbser
        $ tar jxvf gdb-6.6.tar.bz2
        $ cd x/gdb
        $ ./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v
        --prefix用于指定安裝路徑
        --target=arm-linux用于制定目標環境的編譯
        編譯,$ make
        安裝,$ sudo make install
        之后在x/bin文件夾下生成arm-linx-gdb可執行文件.
        $ cd gdbserver
        配置文件:
        $ ./configure --target=arm-linux --host=arm-linux
        (--target=arm-linux表示目標平臺,--host表示主機端運行的是arm-linux-gdb,不 需要配置—prefix,因為gdbserver不在主機端安裝運行)
        $ make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
        (這一步要指定你自己的arm-linux-gcc的絕對位置,相對的通常不行,提示make: arm-linux-gcc: Command not found,如果用的相對路徑,即直接賦值arm-linux-gcc,可采取make時傳遞參數,也可以直接修改gdbserver目錄下的Makefile文件中的環境變量CC)
        之后在gdbserver目錄下生成gdbserver可執行文件.
        可將它通過nfs拷貝到目標板上運行.
        如:mount –t nfs host:/friendly-arm/root /mnt –o ro,nolock
        這里如果沒有加上選項–o ro,nolock無法正常mount.
        @在目標板上運行
        (1)將要調試的文件和gdbserver放在同一個文件夾下
        vivi>./gdbserverhost:port“待調試文件”
        (2)在主機段執行arm-linux-gdb “待調試文件”
        (gdb)target remote client:port連接客戶機
        注意:(1)在目標機上通過gdbserver調試的程序在gdbserver運行的時候已經運行了,并且其中不包含調試的符號信息,所以要想加入符號信息只能通過host運行的gdb加入含有調試信息的可執行文件。
        (2)剛開始的時候將./gdbserver下載到目標機后不能運行,其主要原因就是所制作的網絡根文件系統缺少libthread_db.so.1庫文件。但是發現lib中并沒有該文件,只有一個鏈接文件,通過file命令查看:
        [root@localhost lib]# file libthread_db.so.1
        Libthread_db.so.1: symbolic link to libthread_db-1.0.so
        發現該鏈接文件鏈接到libthread_db-1.0.so該庫文件,于是將文件libthread_db-1.0.so拷貝到根文件系統,然后改名為Libthread_db.so.1,之后gdbserver能正常運行了.

        3.安裝gdb圖形調試界面insight(gtk軟件包)
        下載地址:http://sourceware.org/insight/版本為:insight-6.6.tar.bz2
        $ tar–jxvfinsight-6.6.tar.bz2
        $ cd insight-6.6
        配置文件:
        $./configure --target=arm-linux --enable-sim --prefix=/usr/local/arm/insight
        配置選項的解釋同上.
        編譯,$ make
        安裝,$ sudomakeinstall
        注意:在第一次編譯的時候老是出現問題,最后發現自己在裝RedHat9.0的時候為了節省磁盤空間沒有安裝gtk軟件包,所以編譯的時候會出錯。但是在裝了之后,再次編譯insight-6.8.tar.bz2版本,出現了X參數未初始化的錯誤。然后重新換成insight-6.6.tar.bz2版本,編譯成功,安裝.
        關于gdb遠程調試參見:http://codex.wordpress.org.cn/GDB_Manual_17_1

        剩下需要解決,就是busybox在minicom下如何終止程序的運行。


        關鍵詞: ARMLinux調試環

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 西乌珠穆沁旗| 永春县| 兰坪| 三门县| 新郑市| 亳州市| 河东区| 京山县| 康定县| 孟连| 乡宁县| 阿拉善盟| 大丰市| 巴东县| 当阳市| 临清市| 嵊州市| 浦江县| 高清| 姚安县| 嘉鱼县| 当涂县| 成安县| 西昌市| 江阴市| 岚皋县| 余江县| 皋兰县| 南昌市| 尉犁县| 上饶市| 宜良县| 东光县| 德庆县| 城步| 榆社县| 镇平县| 合江县| 岑巩县| 旬邑县| 尼玛县|