日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Fedora12上编译安装gdb-7.2

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Fedora12上编译安装gdb-7.2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Fedora12上編譯安裝gdb-7.2:編譯安裝gdb和gdbserver


1. 下載gdb7.2:? ftp://sourceware.org/pub/gdb/releases/gdb-7.2a.tar.bz2

2. 編譯安裝gdb

2.1 解壓:

[zcm@~ #1]$cd /mnt/hgfs/opensource/ [zcm@opensource #2]$ls a52dec ffmpeg-1.2.3 libavc1394-0.5.4 libmad-0.15.1b libxcb-1.6 RTSP__live555 xcb-proto-1.6 build.sh gdb-7.2a.tar.bz2 libbluray-0.3.0 libpthread-stubs-0.3 linux-2.6.31.5 util-keysyms-0.3.6 doxygen-1.8.5 install-tl-20130904 libdc1394-2.2.1 libraw1394-2.0.5 live vlc-2.0.5 [zcm@opensource #3]$tar -jxvf gdb-7.2a.tar.bz2 gdb-7.2/README gdb-7.2/Makefile.in gdb-7.2/configure ......

2.2 編譯并安裝

首先進入gdb解壓后的目錄:cd gdb-7.2

下面這個腳本是我自己整理的,包含了編譯安裝的一系列過程。但是在具體編譯安裝時我會選擇分步執行,一方面為了安全,另一方面就是當有錯誤出現時能及時地看到。

編譯安裝時主要是通過修改腳本中n的值或是注釋一些語句來完成!

#!/bin/shn=1if [ $n -eq 0 ]; thenTARGET_DIR=/opt/arm-gdb-7.2mkdir -p $TARGET_DIRchown -R zcm:zcm $TARGET_DIR./configure --prefix=$TARGET_DIR --target=arm-arago-linux-gnueabi elsemake#make install# do uninstall#find . -name Makefile | xargs -i make -f {} uninstall fi

腳本的內容相信大家都看得明白,我也就不作解釋了!


3. 編譯并安裝gdbserver

[zcm@gdb-7.2 #18]$cd gdb/gdbserver/ [zcm@gdbserver #19]$ls build.sh build.sh [zcm@gdbserver #20]$cat build.sh #!/bin/shn=1if [ $n -eq 0 ]; thenTARGET_DIR=/opt/arm-gdbserver-7.2mkdir -p $TARGET_DIRchown -R zcm:zcm $TARGET_DIR./configure --prefix=$TARGET_DIR --target=arm-arago-linux-gnueabi --host=arm-arago-linux-gnueabi elsemake CC=arm-arago-linux-gnueabi-gcc#make install fi [zcm@gdbserver #21]$
同樣地,上面的build.sh是包含編譯并安裝gdbserver的一系列語句。

但是在安裝時卻出現錯誤:/usr/bin/install: cannot stat `libinproctrace.so': No such file or directory

經上網搜索找到答案,只要修改Makefile.in文件中的第167行即可,改為“if [ x${IPA_DEPFILES} != x ]; then \

因為Makefile是在執行configure時引入Makefile.in后創建的,這樣修改后,下次再執行configure也不會再出錯了!

參考網址:

http://blog.chinaunix.net/uid-22525389-id-160160.html

http://www.cppblog.com/zhangyq/archive/2010/09/02/125464.html


4. 環境變量的配置(略)


補充說明:

在使用編譯出來的gdb進行交叉調試時,發現經常會出現:Remote?'g'?packet?reply?is?too?long?”這個錯誤。在網上搜索后找到答案:

需要修改gdb-7.2/gdb/remote.c文件,將第5686行:

if?(buf_len?>?2?*?rsa->sizeof_g_packet)

????error?(_(Remote?g’?packet?reply?is?too?long:?%s),?rs->buf);

修改為:?

if (buf_len > 2 * rsa->sizeof_g_packet){rsa->sizeof_g_packet = buf_len;for(i = 0; i < gdbarch_num_regs(gdbarch); i++){if(rsa->regs[i].pnum == -1)continue;if(rsa->regs[i].offset >= rsa->sizeof_g_packet)rsa->regs[i].in_g_packet = 0;elsersa->regs[i].in_g_packet = 1;}//error (_("Remote 'g' packet reply is too long: %s"), rs->buf);}
然后重新編譯、安裝即可!

參考網址:http://hi.baidu.com/285988185/item/33cc0e047be026e6fe240d4c



總結

以上是生活随笔為你收集整理的Fedora12上编译安装gdb-7.2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。