eclipse c++ && centos && error multiple errors reported. failed to execute mi command

来源:互联网 发布:郑州淘宝代运营公司 编辑:程序博客网 时间:2024/05/27 19:26

标题已经说明环境:

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,,方便你下载~~!!

0 0
原创粉丝点击