将 gdb 添加到 MinGW

Posted

技术标签:

【中文标题】将 gdb 添加到 MinGW【英文标题】:Adding gdb to MinGW 【发布时间】:2008-10-04 10:35:46 【问题描述】:

我去了http://sourceforge.net/project/showfiles.php?group_id=2435,下载了适用于 MinGW 5.1.4 的自动化 MinGW 安装程序,同时下载了 GNU 源代码级调试器候选版本:GDB 6.8-3。然后我将 MinGW 基础工具安装到 C:\MinGW。目前没问题。

但是,当我开始安装 gdb 调试器时,它有很多文件和文件夹,它们与已安装的一些文件和文件夹同名,但文件与已安装的文件不同。例如 C:\MinGW\include\bfd.h 是 171 KB,但 gdb-6.8-mingw-3\include\bfd.h 是 184 KB。

如何在不破坏已安装内容的情况下?

【问题讨论】:

我有 Mingw 版本 0.6.2-beta 和 gdb。 【参考方案1】:

在命令提示符下,我浏览到 C:\MinGW\bin 并运行:

mingw-get.exe install gdb

这为我解决了问题。不确定这是否重要,但我的路径中有 C:\MinGW\bin(我想我可能不需要浏览到 C:\MinGW\bin)。

【讨论】:

【参考方案2】:

project files page 上的 当前版本 (5.2.1) 版本的 gdb 一直对我有用。下载的是独立的.exe,不需要其他任何东西。

但我敢打赌 6.8 包中的 .exe 也可以工作。我会尝试只使用 .exe,然后如果有问题,请尝试从 6.8 包中提取其他文件。 (尽管这可能会导致 MinGW 安装的其余部分出现问题。)

更新:似乎有一个 7.something 版本。我还没有彻底测试它,但它似乎可以工作,即使使用 gcc 3。

【讨论】:

使用 5.2.1 谢谢!【参考方案3】:

获取Wascana Desktop Developer。它将MinGW、gcc、Eclipse和gdb合二为一。

【讨论】:

【参考方案4】:

您可以使用 gdb tarball 中的(较新的)文件安全地覆盖使用 MinGW 预打包的文件。您也可以选择不覆盖它们 - 只需确保选择任意一组,即避免混合旧包和新包中的文件。

无论如何,大多数有问题的文件可能与您并不真正相关。例如,属于 libbfd 库的文件不是 gdb 日常操作所必需的,如果您想扩展调试器或自己编写调试工具,则使用它们。

无论如何,在解压新版本之前备份 mingw 目录。这很容易,因为 MinGW 在该目录中是自包含的。这样,如果出现任何故障,您只需删除目录并从备份中恢复即可。

【讨论】:

【参考方案5】:

一般在windows下安装gdb,有两种安装方式:

1) 使用由某些提供商从 GNU gdb 构建和编译的现成二进制文件(易于安装)

使用从以下 URL 提供的 TDM-GCC 二进制文件,其中包括 gcc 编译器和 gdb 调试器。 http://tdm-gcc.tdragon.net/ 使用已在其中编译和构建 GNU GDB 的 Equation 包。 http://www.equation.com/servlet/equation.cmd?fa=gdb

2) 使用最小的 mingw 或 cygwin 包,然后在其中安装 gdb。

安装已经提供 GDB 的 mingw 或 cygwin

打开 cygwin 或 mingw 终端,只需键入以下内容以确保它已安装

$ gdb --version

    提示:如果您没有找到 gdb 安装,只需打开 cygwin 或 mingw 软件包安装程序并确保您已检查 gdb 提示:获取和安装OHRRPGCE 的调试版本可提供有关崩溃的有用信息。
从 cygwin 或 mingw 终端,使用以下命令启动 gdb c:\mingw\bin\gdb.exe program_to_debug.exe

参考号:http://rpg.hamsterrepublic.com/ohrrpgce/GDB_on_Windows

【讨论】:

【参考方案6】:

TDM GCC/MinGW32 builds 安装程序包括 gdb。它是 gcc 4.4.x,包含基本 Windows 开发所需的所有核心二进制包,并且被广泛使用,没有任何异常问题。

【讨论】:

以上是关于将 gdb 添加到 MinGW的主要内容,如果未能解决你的问题,请参考以下文章

C++ 如何将库添加到 minGW

尝试将 /proc/kallsyms 添加到 gdb 以进行 vmlinux 调试:`/proc/kallsyms':无法读取符号:文件格式无法识别

将 Winsock2 添加到我的 MinGW-w64 C/C++ 会导致:未定义对“InitializeConditionVariable”的引用

windows 下 gdb 的安装

无法将编译器添加到 Windows 路径

向 MinGW 添加额外的 include/lib 路径