c++ - 更改 gcc/g++ 版本会导致段错误

标签 c++ c c++11 gcc

似乎改变了我使用的gcc版本 gcc 4.7.3gcc 4.9.2导致我的项目出现段错误(在干净的构建和运行之后)。

不幸的是,事情发生了gdb我的服务器坏了 出现此错误,暂时无法使用。 gcc 本身的任何已知变化可能会导致这种情况?我怀疑这个问题可能是由双重释放引起的。

最佳答案

您应该尝试使用 valgrind。

Valgrind 是一个调试工具,只需要使用 -g 标志来编译代码。这是发现程序段错误或任何内存泄漏的最佳方法。

考虑在调试时使用 valgrind 选项(它位于 valgrind 报告的底部),例如泄漏检查完整(我现在无法运行 valgrind,所以我无法确切地告诉你它是什么)。

但是每当我编译代码时,我都会使用 valgrind 来检查每一个可能的失败。为了更加简单,甚至可以考虑将 VG 放入 Makefile 规则中。

关于c++ - 更改 gcc/g++ 版本会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31918238/

相关文章:

c++ - 一起破解线程安全 'best' 行动方案吗?

c++ - 来自 boost::operators 的意外行为

c++ - std::allocator_traits::construct 调用了错误的构造函数

C for循环,测试数组元素给出奇怪的结果

C : Create a function to diplay number just with "write" function

c - 尝试编写一个采用特定长度数组的函数,得到奇怪的不一致结果而没有错误

c++ - Visual Studio 2012 支持哪个 XP 版本 [As Target OS]

c++ - 如果基方法不是虚拟的,则调用重写的方法

c++ - 如何在 C++ 中访问数字的符号位?

c++ - 如何在 Qt-Creator (MacOs) 上链接 Qt API 和 GStreamer