C++:是否需要使用相同版本的 GCC 和 GDB 进行调试
C++: Do I need GCC and GDB with the same version to debug
我正在使用 C++ 在 Windows 上使用 minGW 进行开发。我现在有调试问题。
我必须使用旧版本的 GCC (4.4)。
所以我只是想知道是否可以使用这个旧的 GCC 进行编译并使用新的 GDB 进行调试?
他们两个之间的link是什么?
(任何有关调试器崩溃的指示也将不胜感激!
我只知道我需要确保使用调试 DLL)
GCC 和gdb 不必是同一版本。您可以使用手头的 gdb 版本调试可执行文件。 Gdb a.out
GDB 和 GCC 是独立的程序——独立的源代码库(有一些共享代码,虽然不多),通常是独立的维护者,不同的发布计划和不同的版本号。他们确实有一些共同的文化,当然也有一些协调。
GDB 在向后兼容性方面相当不错。它甚至为旧版本的 GCC 和有时其他编译器发出的 debuginfo 中的错误保留了解决方法。这意味着您通常可以升级 GDB,同时保持相同的 GCC 版本。
然而,情况并非总是如此。有时,新版本的 GCC 会发出旧版 GDB 无法理解的调试信息。在这种情况下,您还必须升级 GDB。在某些有限的情况下,您可以将兼容性标志传递给 GCC 以请求降级调试信息,但这并不总是可行的。而且,既然升级GDB很简单,你不妨。
我正在使用 C++ 在 Windows 上使用 minGW 进行开发。我现在有调试问题。
我必须使用旧版本的 GCC (4.4)。 所以我只是想知道是否可以使用这个旧的 GCC 进行编译并使用新的 GDB 进行调试?
他们两个之间的link是什么?
(任何有关调试器崩溃的指示也将不胜感激! 我只知道我需要确保使用调试 DLL)
GCC 和gdb 不必是同一版本。您可以使用手头的 gdb 版本调试可执行文件。 Gdb a.out
GDB 和 GCC 是独立的程序——独立的源代码库(有一些共享代码,虽然不多),通常是独立的维护者,不同的发布计划和不同的版本号。他们确实有一些共同的文化,当然也有一些协调。
GDB 在向后兼容性方面相当不错。它甚至为旧版本的 GCC 和有时其他编译器发出的 debuginfo 中的错误保留了解决方法。这意味着您通常可以升级 GDB,同时保持相同的 GCC 版本。
然而,情况并非总是如此。有时,新版本的 GCC 会发出旧版 GDB 无法理解的调试信息。在这种情况下,您还必须升级 GDB。在某些有限的情况下,您可以将兼容性标志传递给 GCC 以请求降级调试信息,但这并不总是可行的。而且,既然升级GDB很简单,你不妨。