如何在 Windows 上构建 GDB

Posted

技术标签:

【中文标题】如何在 Windows 上构建 GDB【英文标题】:How to build GDB on Windows 【发布时间】:2017-07-22 20:30:35 【问题描述】:

如何在 Windows 上从源代码构建 GDB(GNU 调试器)?我需要构建它才能使用 Python 支持进行构建。我不能使用随 Cygwin 分发的那个,因为它在解释 Windows 上的反斜杠时有问题。构建需要哪些工具链——GnuWin32、MinGW 等?有人可以提供有关如何执行此操作的分步说明吗?

【问题讨论】:

【参考方案1】:
    安装 (https://sourceforge.net/downloads/mingw) 并使用包 g++ gcc libc6-dev libtool pkg-config 配置 MinGW 获取 gdb 源(我使用来自 https://www.gnu.org/software/gdb/ 的 7.latest)并将其放入 MinGW/msys/1.0 文件夹中 在 msys shell (MinGW\msys\1.0\msys.bat) 中运行 ./configure 运行 make 并修复以下问题: 在'::hypot' has not been declared 的帮助下出现hypot 编译错误 通过将#include <winerror.h> 添加到\gdb\gdbserver\win32-i386-low.c \gdb\gdbserver\win32-low.c gdb\ser-mingw.c 中,GetLastError 函数的未定义常量

我已经检查了使用 7.11.1 和 7.12.1 源的构建过程

windows下7.12.1 x32坏了 https://github.com/Alexpux/MINGW-packages/issues/1909 https://sourceforge.net/p/mingw-w64/bugs/576/

【讨论】:

您可以查看我的 sourceforge wiki 页面以了解我如何在 MSYS 下构建 GDB,请参见此处:gdbmingw / Wiki / Build GDB under MSYS

以上是关于如何在 Windows 上构建 GDB的主要内容,如果未能解决你的问题,请参考以下文章

我的程序如何附加一个正在运行的程序?就像 gdb 一样。在Linux中

在Windows上使用gdb调试MinGW程序,而不是在断言失败时终止

如何包含 GDB 调试符号“破坏包”?

如何编译可以在Windows下运行的带有Python支持的ARM Linux GDB

如何在 stm32cubeide 中启动 GDB 服务器?

谁知道如何查看Windows下正在运行的程序堆栈,Linux可以用gdb,windows下该用啥