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

时间:2015-08-10 11:22:04

标签: c++ c c++11 gcc

似乎将我使用的gcc版本从gcc 4.7.3更改为gcc 4.9.2会导致我的项目发生段错误(在完全构建和运行之后)。

在一个不幸的事件中,gdb在服务器上被打破了 出现此错误,暂时无法使用它。 gcc本身的任何已知变化都可能导致这种变化?我怀疑这个问题可能是由双重免费引起的。

1 个答案:

答案 0 :(得分:2)

你应该尝试使用valgrind。

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

考虑在调试时使用valgrind选项(它位于valgrind报告的底部)类似于leak-checkfull(我现在无法运行valgrind,所以我无法确切地告诉你它是什么)。

但每当我编译我的代码时,我会使用valgrind来检查每一个可能的失败。考虑将VG放入Makefile规则中以简化操作。