如何调试g++的分段错误
How to debug segmentation fault of g++?
我尝试在aix 6.1上使用g++4.4.6编译代码。我没有安装gdb。编译后显示Segmentation Fault错误:-
../test/Corner.h: In member function 'void VirtualFlow<T>::vector_flow(typename T::Data**, typename T::Data**) [with T = NProcess<or_func<NetAndVal<ZVal2>, with_derivatives>, ConvexNoOverlapSize<16, 16, Multiply<65536l, AllPass<CornerT<NetAndVal<ZVal2> >, NoFlow<CornerT<NetAndVal<ZVal2> > > > > > >]':
../test/Corner.h:369: internal compiler error: Segmentation fault
我尝试使用-g选项来创建.o文件并寻找问题。
opt/freeware/bin/g++ -g ConnectFlow2.C -o ConnectFlow2.o
但是我无法调试。
请分享如何调试分段错误的好做法。
谢谢。
简化代码以保留ICE仍然发生的最低限度,并向GCC项目提交错误报告。他们解决问题的机会比你大得多。
我建议升级您的GCC编译器(因为您的旧4.4编译器崩溃了)。尝试获取GCC 4.6的源代码,然后构建它。
不要忘记担心依赖关系,并仔细阅读并遵循安装说明(特别是,不要在源目录中构建!)。
如果你真的想自己调试编译器,从源代码重新编译它,并使用-g
这只是一个猜测,但值得尝试使用-ftemplate-depth-103
增加模板深度。我不知道默认值是多少,也不知道你的模板结构有多深
相关文章:
- 分段故障(堆芯转储)矢量
- 数组的指针从不分段故障
- 在某些循环内使用vector.push_back时出现分段错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 在线编译器中的分段C++没有打印消息
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 当我的阵列太大时出现分段错误
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 分段错误当我试图运行程序时出错
- 在c++中初始化矩阵时出现分段错误(核心转储)
- 尝试使用集合函数时出现分段错误
- 我无法缩小此分段错误的原因
- g++的分段错误(在NaN上使用to_string两次时)
- 我是如何在这段代码中出现分段错误的
- 创建结构的数组时遇到分段错误
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- 在 c++ 中实现 Trie 时出现分段错误
- 为什么 fstream 在打开带有格式的文件时会导致分段错误?
- 为什么我遇到分段错误?
- 动态类的分段错误(家庭作业问题)