修改gcc/g++版本会导致段故障
Changing gcc/g++ version causes segfault
似乎将我使用的gcc版本从gcc 4.7.3
更改为gcc 4.9.2
会导致我的项目出现段错误(在干净构建和运行之后)。
在一个不幸的转折中,gdb
在服务器上被打破了得到这个错误,现在不能使用它。gcc本身是否有任何已知的变化会导致这种情况?我怀疑这个问题可能是由double free.
您应该尝试使用valgrind。
Valgrind是一个调试工具,只需要使用-g标志编译代码。这是发现程序分段错误或任何内存泄漏的最佳方法。
考虑在调试时使用valgrind选项(它在valgrind报告的底部),比如泄漏检查(我现在无法运行valgrind,所以我不能确切地告诉你它是什么)。
但是每当我编译代码时,我都会使用valgrind来检查每一个可能的错误。为了更简单,甚至可以考虑在Makefile规则中添加VG。
相关文章:
- Python & C-C++ 扩展模块案例段故障
- 中断;导致段故障
- 带指针的调用函数会导致段故障
- 由于变量范围导致的段故障
- 为什么通过shared_from_this()会导致段故障
- 简单的C++字符数组加密功能 - 段故障
- std::vector的函数push_back中的堰段故障
- 位字段 keil 重新启动后硬故障
- 在openCV中将cvPoint[][]转换为cvPoint**时出现段故障
- 模板变量分配段故障11
- CIN 一个非常大的 int 数组,段故障 11
- C++段故障错误
- 段故障 -> 在标准::basic_ostream<字符中,标准::char_traits<char>
- C++中的二叉树段故障
- 调试执行工作正常,但正常的一段故障
- c++:几乎相同的输入,但第二次调用显示段故障
- 段故障。地址0x0不是堆叠的、恶意的或(最近)释放的
- 使用矢量引起的段故障
- 使用arm-linux- gnuabi -g++ -o时出现段故障,不使用-o也不会出现问题
- 为什么会出现以下段故障