我正在尝试在Windows上使用CLion,并且我使用cygwin安装了我的环境,但我在设置中收到此警告。此外,它几乎不可能调试,因为调试器只是停止在中间显示调试器信息。
答案 0 :(得分:12)
我遇到了同样的问题。我无法让CLion与gdb 7.10.x一起工作,但我能够使cygwin安装gdb 7.8-1。我的方法应该可以安装你想要的任何版本。
以下步骤描述了我设法做到的方式,我是使用cygwin的新手,所以可能其中一些是不必要的。
setup.exe
放入其中(在我的情况下为C:\cygwinCache
)。 [Source] setup.exe
并按照通常的步骤从Internet进行安装。选择从Internet安装,选择您的cygwin根目录(在我的情况下为C:\cygwin64
),在cygwin缓存目录中创建并选择一个目录(在我的情况下为C:\cygwinCache\downloaded
),选择您的Internet连接所需的连接选项,然后选择任何可用gdb的服务器(我选择http://cygwin.mirror.constant.com
)并单击下一步。这将下载并解析包含所选服务器中可用软件包的setup.ini
文件。此setup.ini
文件将位于以您选择的服务器命名的子目录中的缓存目录中(C:\cygwinCache\downloaded\http%3a%2f%2fcygwin.mirror.constant.com%2f\x86_64
)。gdb-7.8-1.tar.xz
和gdb-7.8-1-src.tar.xz
)。作为备份,我将这些文件上传到here。在setup.ini
文件所在的目录中,创建\release\gdb
目录。在这个新创建的\release\gdb
目录中,放置您在最后一步中下载的两个gdb文件。现在,您在以下路径中拥有gdb安装和源文件:
C:\cygwinCache\downloaded\http%3a%2f%2fcygwin.mirror.constant.com%2f\x86_64\release\gdb\gdb-7.8-1.tar.xz
C:\cygwinCache\downloaded\http%3a%2f%2fcygwin.mirror.constant.com%2f\x86_64\release\gdb\gdb-7.8-1-src.tar.xz
打开setup.ini
文件,查找包含此字符串的行:@ gdb
。本节包含gdb包的信息以及有关它可能包含的文件的信息。它应该是这样的:
@ gdb
sdesc: "The GNU Debugger"
ldesc: "The GNU debugger, allows you to debug programs written in C, C++,
and other languages, by executing them in a controlled fashion
and printing their data."
category: Devel
requires: cygwin libexpat1 libiconv2 libintl8 liblzma5 libncursesw10 libreadline7 python
version: 7.10.1-1
install: x86_64/release/gdb/gdb-7.10.1-1.tar.xz 2670932 cd1fa152888faa3e4cb8e1d075604fb2e039d73acdd159d7c9553741fd7710778c742495c93476b234e3386d54bd5bdc5275007290b6eb940d70197feb21b573
source: x86_64/release/gdb/gdb-7.10.1-1-src.tar.xz 18542336 758428a83148af8425cff2712ac15d842f449d824f0edc9bb8db1d1d84bf963e2f371372d0c645408c202914ffb088a9da32be5a9b62a637a71f2fe9b7d4614f
[prev]
version: 7.9.1-1
install: x86_64/release/gdb/gdb-7.9.1-1.tar.xz 2550148 f62f65865a11757b945f431a3662e16d0357dc9a0cbc720d16f5e99543cd3231f34bacd245daeb113ad38501358d9b1e7d128a1a45871d02c2bfb1c15891fbcb
source: x86_64/release/gdb/gdb-7.9.1-1-src.tar.xz 17888340 b90d198404a0a16268b443f4a4ec9672dac1d531f3fbda848f807fee7c004f5394e1985253c64ab0cdc2dcf7c088645c60edbf8e9f39dce0f149bce4b11f5085
现在编辑文件以使cygwin安装所需的版本。要实现此目的,请修改包含您要安装的文件信息的行version
,install
和source
。我在[prev]
字符串替换7.8-1
而不是7.9.1-1
之后修改了行,因此cygwin指向正确的位置。请注意,以install:
和source:
开头的行包含您先前下载并放在\release\gdb
目录中的文件的相对位置。在此相对位置之后,setup.ini
文件包含指定文件的字节大小和SHA-512。您可以在文件属性中获取文件的咬合大小。要获得SHA-512,您必须使用其他软件,例如this one。对于7.8-1
文件,我得到以下内容:
@ gdb
sdesc: "The GNU Debugger"
ldesc: "The GNU debugger, allows you to debug programs written in C, C++,
and other languages, by executing them in a controlled fashion
and printing their data."
category: Devel
requires: cygwin libexpat1 libiconv2 libintl8 liblzma5 libncursesw10 libreadline7 python
version: 7.10.1-1
install: x86_64/release/gdb/gdb-7.10.1-1.tar.xz 2670932 cd1fa152888faa3e4cb8e1d075604fb2e039d73acdd159d7c9553741fd7710778c742495c93476b234e3386d54bd5bdc5275007290b6eb940d70197feb21b573
source: x86_64/release/gdb/gdb-7.10.1-1-src.tar.xz 18542336 758428a83148af8425cff2712ac15d842f449d824f0edc9bb8db1d1d84bf963e2f371372d0c645408c202914ffb088a9da32be5a9b62a637a71f2fe9b7d4614f
[prev]
version: 7.8-1
install: x86_64/release/gdb/gdb-7.8-1.tar.xz 2491984 4c8d81984fe2ccbf92614c857737a42c4ec0c4016a5f8cf1dbc0fd117a1978baa7a8eadd2415a6d52041a1eecbe6b4e1373ba6850db6584869311a5e02a6e3b2
source: x86_64/release/gdb/gdb-7.8-1-src.tar.xz 17669132 a71b6886774cb004baa7dc88ed767983a72fc94c7585bd79ff64c2bd2071c411cf0de76584c56aa3553d9541172eaf31f1dd142a6dedec50c5446ff2986c6d48
修改后,请不要忘记保存setup.ini
文件。
C:\cygwinCache\downloaded
作为本地包目录。它将解析setup.ini文件,如果您成功编辑它,它将显示要安装,升级或卸载软件包的网格。如果解析失败,将显示错误。Keep
的位置,直到看到所需的版本。然后单击“下一步”,这将开始安装,完成该过程后,单击“完成”。gdb --version
并查看是否安装了正确的版本:
完成所有这些步骤后,现在您可以打开clion并转到设置>工具链并查看结果:
PS。我用cygwin setup版本2.873(64位)实现了这一点。
答案 1 :(得分:7)
虽然LuissRicardo的回答似乎有效,但我偶然发现了一个更直接的在线解决方案。请参阅:http://kennyroh.blogspot.co.uk/2016/04/cygwin-clion-gdb-current-version-is-gnu.html
从http://cygwin.mirror.constant.com/x86_64/release/gdb/下载gdb-7.8-2.tar.xz
并将其放在您的Cygwin文件系统中。
在该位置打开Cygwin终端,然后运行:tar Jxvf gdb-7.8-2.tar.xz
。说明使用zxvf
,但这对.xz
档案不起作用。
cd
到您刚提取的文件夹中(对我来说这只是cd usr
)。
运行命令cp -R * /usr/
将其复制到文件系统中的正确位置。
运行gdb --version
只是为了确保它设置为7.8.2。如果不是,那么可能尝试重新启动Cygwin,如果那不起作用,那么可以在StackOverflow上发布或者其他东西:p