似乎将我使用的gcc版本从gcc 4.7.3
更改为gcc 4.9.2
会导致我的项目发生段错误(在完全构建和运行之后)。
在一个不幸的事件中,gdb
在服务器上被打破了
出现此错误,暂时无法使用它。 gcc本身的任何已知变化都可能导致这种变化?我怀疑这个问题可能是由双重免费引起的。
答案 0 :(得分:2)
你应该尝试使用valgrind。
Valgrind是一个调试工具,只需要使用-g标志编译代码。这是在程序上发现分段错误或任何内存泄漏的最佳方法。
考虑在调试时使用valgrind选项(它位于valgrind报告的底部)类似于leak-checkfull(我现在无法运行valgrind,所以我无法确切地告诉你它是什么)。
但每当我编译我的代码时,我会使用valgrind来检查每一个可能的失败。考虑将VG放入Makefile规则中以简化操作。