CLION - GDB:当前版本是GNU gdb(GDB)(Cygwin 7.10.1-1)7.10.1;支持的版本是7.8.x.

时间:2016-03-06 12:05:02

标签: windows gdb cygwin clion jetbrains-ide

我正在尝试在Windows上使用CLion,并且我使用cygwin安装了我的环境,但我在设置中收到此警告。此外,它几乎不可能调试,因为调试器只是停止在中间显示调试器信息。

2 个答案:

答案 0 :(得分:12)

我遇到了同样的问题。我无法让CLion与gdb 7.10.x一起工作,但我能够使cygwin安装gdb 7.8-1。我的方法应该可以安装你想要的任何版本。

以下步骤描述了我设法做到的方式,我是使用cygwin的新手,所以可能其中一些是不必要的。

  1. 为cygwin创建一个缓存目录,并将cygwin setup.exe放入其中(在我的情况下为C:\cygwinCache)。 [Source]
  2. 执行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)。
  3. 来自 @H的链接。 DJEMAI 发现(this one)下载了您想要的版本的gdb安装和源文件(我下载了gdb-7.8-1.tar.xzgdb-7.8-1-src.tar.xz)。作为备份,我将这些文件上传到here
  4. 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
    
  5. 打开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
    
  6. 现在编辑文件以使cygwin安装所需的版本。要实现此目的,请修改包含您要安装的文件信息的行versioninstallsource。我在[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
    
  7. 修改后,请不要忘记保存setup.ini文件。

  8. 打开缓存目录中的cygwin设置。现在,不要选择从Internet安装选项,而是选择从本地目录安装,然后设置根目录,并选择您的缓存目录(C:\cygwinCache\downloaded作为本地包目录。它将解析setup.ini文件,如果您成功编辑它,它将显示要安装,升级或卸载软件包的网格。如果解析失败,将显示错误。
  9. 在Devel类别下查找gdb包,它应该与当前版本一起安装: enter image description here
  10. 单击它显示Keep的位置,直到看到所需的版本。然后单击“下一步”,这将开始安装,完成该过程后,单击“完成”。
  11. 你已经完成了。您可以打开cygwin终端并键入gdb --version并查看是否安装了正确的版本: enter image description here
  12. 完成所有这些步骤后,现在您可以打开clion并转到设置>工具链并查看结果: enter image description here

    PS。我用cygwin setup版本2.873(64位)实现了这一点。

答案 1 :(得分:7)

虽然LuissRicardo的回答似乎有效,但我偶然发现了一个更直接的在线解决方案。请参阅:http://kennyroh.blogspot.co.uk/2016/04/cygwin-clion-gdb-current-version-is-gnu.html

  1. http://cygwin.mirror.constant.com/x86_64/release/gdb/下载gdb-7.8-2.tar.xz并将其放在您的Cygwin文件系统中。

  2. 在该位置打开Cygwin终端,然后运行:tar Jxvf gdb-7.8-2.tar.xz。说明使用zxvf,但这对.xz档案不起作用。

  3. cd到您刚提取的文件夹中(对我来说这只是cd usr)。

  4. 运行命令cp -R * /usr/将其复制到文件系统中的正确位置。

  5. 运行gdb --version只是为了确保它设置为7.8.2。如果不是,那么可能尝试重新启动Cygwin,如果那不起作用,那么可以在StackOverflow上发布或者其他东西:p