標題已經說明環境:
centos6.5
eclipse c++ 官網下載最新
gcc4.8.2
gdb7.2
現在出現的問題是:
error multiple errors reported. failed to execute mi command .......
這個問題我本人不管是google還是百度都沒有得到合理的答案,雖然搜到了一些解決方案但是不適合我。
我的解決方法是:
因爲在ide下調試不能查看局部變量的值。從而我嘗試用gdb來調試,而gdb調試的時候,用print來打印本地的值是各種找不到符號:no symbols......
ok,懷疑是gdb有問題。
因爲gdb能用,所以也就沒有在意在使用gdb的時候提示的類似這一句的話:
debuginfo-install glibc-2.12-1.149.el6_6.5.x86_64
因爲這個問題我現在解決了,所以沒有辦法重現,我也不想重現了~~~~
現在我轉而解決這個問題:
尊重作者:我參考的帖子是:http://blog.csdn.net/IT_YUAN/article/details/25054827
按照操作第1,2步驟,是沒有問題的,但是在第三部的時候,按裝不上。弄了半天,想想,試試能不能像 使用yum info一樣查看有沒有這個的存在。就輸入命令:
debuginfo-install info
我忘記了後面有沒有輸入完畢,估計就是輸入到Info就結束了,然後很奇葩的就是他給了個安裝列表,這個列表裏就有要安裝的東西。~~~~~~~
那我就治好順從着安裝下去了。
ok~~~@!
現在繼續gdb調試,發現符號依然找不到,雖然上面的問題解決了。
那麼就想想,看看這個gdb的版本是7.2,而網上的最新的已經是7.5了,7.2還是11年出的。。。
那我就只能換個版本試試了,所以就:
yum remove gdb.x86_64,刪除了這個版本。
然後去官網下載了最新的gdb7.9
下載鏈接http://ftp.gnu.org/gnu/gdb/
下載下來安裝:
./configure
./make
沒想到make沒有那麼簡單~~~!!
需要一些外圍的配置庫。
ok,那我就去看看人家是怎麼裝的:尊重作者,參考:http://blog.csdn.net/wengchzh/article/details/7424130
我的問題正好是:error: no termcap library found
太好了,我就按照他的apt-get的庫,全裝了,然後重新 make。
結果悲劇的是:媽蛋,還是這個問題、no termcap....
那我就只能自己去下載一個了,,這個也說一波三折....~~!!
下載地址爲:http://download.chinaunix.net/download.php?id=20509&ResourceID=10232
下載下來發現沒多少東西嘛。而且只要make一下就可以,ok!
./make
- -||,make出現錯誤~~~@%#¥%@#¥!@#....
錯誤的大意提示是在:
#define bcopy(s, d, n) memcpy((d), (s), (n))
這裏出現錯誤,應該是代碼錯誤吧。然後我就把他註釋掉了,因爲我發現調用只有一處,而且在調用的地方也沒有這些#if...#endif的條件語句,這個宏的意思不就是個memcpy麼,我就把調用的地方手動改成memcpy了。
ok!!!!
先來make成功生成了個xxx.a文件。
但是make完畢的時候還是有錯誤,估計是shell腳本錯誤吧,因爲我後面:
make install
也有錯誤,我去,很無語。不管了,直接重新make gdb試試看。
@#¥@#¥~~~哭吧,還是不行。
好吧,我看了下往上安裝termcap的教程,我去,複雜啊,作爲一個才玩幾天的linux新手,竟然要去定位make的時候需要的lib的路徑,~~~!好吧。
我就直接自己把:
cp xxx.a /usr/bin
cp termcap.h /usr/include
這樣試試看咯。抱着這樣的心態~~~~!!
注意:xxx.a應該是libtermcap.a
華麗分割線----------
接下來回到gdb的目錄,繼續:
make
竟然成功了, 那麼下來用root權限:
make install
ok,沒有問題~~~!!!
開個新的terminal,輸入:
gdb
no commond ??????????????????????????????????????
哎,我操~~~!!
我就看了下
/usr/bin
/usr/local/bin
發現gdb在/usr/local/bin下來,試試:
./gdb
可以運行嘛~~~
那麼爲什麼新開的terminal就不能找到gdb呢,乾脆就直接吧:
cp ./gdb /usr/bin
cp ./gdbserver /usr/bin
ok,下來新的terminal就能找到這個命令了~~~!!!!!
再去gdb調試程序,ok~!!!!
可以print局部變量了,~~!
而且7.9比7.2更好,在走到斷點的時候顯示的信息更多~~
--------------華麗分割線
接下來回到eclipse c++
激動人心的調試下看看,ok!!!
可以顯示局部變量了好麼~~~~
最後附上幾個上面用到的東西,避免連接失效:
termcap:http://pan.baidu.com/s/1i349Bkp
gdb7.9:http://pan.baidu.com/s/1sjNqnFJ,,方便你下載~~!!