似乎改变了我使用的gcc版本 gcc 4.7.3
至gcc 4.9.2
导致我的项目出现段错误(在干净的构建和运行之后)。
不幸的是,事情发生了gdb
我的服务器坏了
出现此错误,暂时无法使用。 gcc 本身的任何已知变化可能会导致这种情况?我怀疑这个问题可能是由双重释放引起的。
最佳答案
您应该尝试使用 valgrind。
Valgrind 是一个调试工具,只需要使用 -g 标志来编译代码。这是发现程序段错误或任何内存泄漏的最佳方法。
考虑在调试时使用 valgrind 选项(它位于 valgrind 报告的底部),例如泄漏检查完整(我现在无法运行 valgrind,所以我无法确切地告诉你它是什么)。
但是每当我编译代码时,我都会使用 valgrind 来检查每一个可能的失败。为了更加简单,甚至可以考虑将 VG 放入 Makefile 规则中。
关于c++ - 更改 gcc/g++ 版本会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31918238/