开发小白,刚刚打开ARC GNU IDE 2020.03 Eclipse尝试debug官方例程就报错。
error with command: gdb --version
首先查找了一些资料,
如:
- Error while launching command: gdb --version-CSDN论坛
- Error with command: gdb --version - Stack Overflow
- 在Windows下安装编译GDB调试工具_ZeroZone零域的博客-CSDN博客_windows gdb
下面根据资料3步骤尝试解决,需要的小伙伴自行打开链接查看原内容。(下列内容是根据资料3步骤实现的过程,并附上一些说明和链接)
首先下载安装MinGW。记住安装的目录,后面要修改环境变量。
- MinGW:是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。(windows系统安装gcc编译器----c/c++语言编译器 - StackOcean - 博客园 https://www.cnblogs.com/xiaolantian/p/10746206.html)
一般我们默认下载个MinGW是不带有gdb.exe的,所以无法对编写的程序进行调试。
- gdb的下载链接(download):Index of /gnu/gdb
注:下载的是压缩包,gdb-9.2.tar.xz和gdb-9.2.tar.gz选择一个下就可以,都是压缩包格式。
下载好以后,解压缩,这里解压出来的只是源代码,是不包含gdb.exe可执行程序的,所以我们还需要对源代码进行编译,使其生成可执行的gdb.exe文件
(这里假设你已经下载并安装了MinGW,如果没有的话可进入官网进行下载安装,或在下列博客中找到离线包下载链接)
MinGW5.1.6本地包在Win10环境下的安装和配置_浪学泛微-CSDN博客_mingw安装教程 win10
要想对源代码进行编译,我们还需要下载MSYS。
下载MSYS,打开下面的官网链接,下载如图中READ.TXT下面的第一个压缩包文件即可。:
MinGW-builds - Browse /external-binary-packages at SourceForge.net
下载后解压缩,将文件内的msys文件夹整个移动到路径C:\MinGW下面,然后在msys文件夹内,打开msys.bat文件(C:\MinGW\msys)。
如下图输入命令语句,进入gdb的目录下,如:E:\gdb-9.2\gdb。然后输入:./configure && make 进行编译。按道理会在gdb-9.2\gdb中生成gdb.exe文件。
但是我执行的效果和博客中不同。./configure执行失败,原因未知。./configure失败,所以./configure && make更不会成功。
第二天又查找了一些资料:
- windows系统安装gcc编译器----c/c++语言编译器 - StackOcean - 博客园
- GCC教程(全)
- MinGW安装和使用 - DoubleLi - 博客园
- windows下的MinGW下载、安装和配置-百度经验
下面根据 资料7 考虑重新下载MinGW安装器,过程中有gdb组件安装
注意到之前没有添加环境变量,先将下载的MinGW所在路径下的bin文件路径(默认是C:\MinGW\bin),添加到系统环境变量中。
- windows10的添加方式:在搜索框查找并点击“编辑系统环境变量”,在高级选项卡点击“环境变量”,双击系统变量框中的“Path”项,点击新建,粘贴C:\MinGW\bin,确定保存。
- win7添加方式参考资料4
C:\MinGW\bin文件中显示包括以下文件(部分文件):
注意到里面有gcc.exe文件,用命令查看一下版本,win键+R 打开命令窗口cmd,输入gcc --version,显示如下:
看起来很正常,再试一下生成gdb.exe:
- 先将解压过的文件夹 gdb-9.2 移动到了MinGW文件夹下
- 双击文件夹C:\MinGW\msys\中的 msys.bat ,在打开的命令窗口中输入如下图的语句,进入gdb文件夹中,先configure。configure的结果很长。
- 再试./configure && make,结果最后还是报错了。
上面的方法没能成功生成 gdb.exe 文件,因此根据 资料6 的说明,重新安装MinGW,之前可能少安装了gdb相关组件,详细安装过程见资料6:参考链接https://www.cnblogs.com/lidabo/p/8990348.html。
资料6中安装成功的标志是在C:\MinGW\bin文件(安装路径)中,包含了g++.exe、gcc.exe、gdb.exe三个可执行文件。
重新在官网 http://www.mingw.org/ 点击链接 download/installer,下载了安装器,在安装过程中,有一个弹窗,具体要install哪些文件,各个资料说法不一,下面选择的选项仅供参考。
复选框为绿色表示已经安装的项目,复选框为白色表示没有安装的项目。
Mark完需要的安装组件,选择"Installation -> Apply Changes”。
(其中一个报错弹窗)
等待安装,安装过程有报错弹窗则选择“确定”。https://jingyan.baidu.com/article/0320e2c11564ca1b87507b8f.html
(过程中有不下五次弹窗,不明白后续怎么处理)
全部结束后的界面:
查看了C:\MinGW\bin文件(安装路径)中,包含了g++.exe、gcc.exe,就是没有gdb.exe。
(重新安装之前没有g++.exe)
接下来,尝试根据 资料4 在命令窗口直接下载gdb组件
实现过程(很遗憾,命令窗口也不能正常打开下载链接)。
- 在C:\MinGW\bin下打开cmd(shift+右键),输入mingw-get install gdb。
报错内容主要是不能打开URL,不能下载。
直接在浏览器输入网址是可以下载的,只是比较繁琐,需要自己一个一个的下载并解压,为了大家方便,已经将下载链接附在下方,下载解压后放在MinGW安装路径的对应文件夹下(解压文件的目录名和MinGW目录名一致)。
- 官方下载链接 (该链接可直接新建迅雷下载任务):
gdb-7.6.1-1-mingw32-bin.tar.lzma
gdb-7.6.1-1-mingw32-doc.tar.lzma
gdb-7.6.1-1-mingw32-man.tar.lzma
在重启计算机后,在命令窗口查看是否成功安装gdb:
没有问题。
再次进入eclipse界面,debug,错误不再是 error with command: gdb --version,而是
Error in final launch sequence:
Failed to execute MI command:
-exec-run
Error message from debugger back end:
Error creating process
算是解决了一个error,又来一个。
Error in final launch sequence,最终启动顺序错误。
Failed to execute MI command: -exec-run
MI command是GDB的MI层命令。
用法:-exec-run
语义:开始执行程序,直到遇到断点或退出
后来解决了,可以参考另一篇博文检查一些配置注意点:eclipse C/C++工程配置和debug配置
总之,可能是python环境没有安装好,有些库或工具包没有安装。还有可能是debug配置中勾选了remote target,但实际上找不到remote target所以报错。
取消勾选:
有过类似情况并成功解决的小伙伴,欢迎留言交流!