程序在调试模式下崩溃:"无法解码"?

时间:2016-06-04 17:07:26

标签: gdb eclipse-cdt demangler

在Eclipse CDT中,我的代码不能在调试模式下运行。我收到以下消息:

/build/gdb-HnfxP_/gdb-7.10/gdb/cp-support.c:1595:demangler-warning:无法解码' _ZdvI7Vector3dESt6vectorIDTdvcvT__EcvT0__EESaIS4_EERKS1_IS2_SaIS2_EERKS1_IS3_SaIS3_EE' (demangler因信号11失败) 无法转储核心,请使用`ulimit -c unlimited'在下次执行GDB之前。

使用https://d.fuqu.jp/c++filtjs/我发现受损的符号对应

std::vector<decltype (((Vector3)())/((double)())), std::allocator<decltype (((Vector3)())/((double)()))> > operator/<Vector3, double>(std::vector<Vector3, std::allocator<Vector3> > const&, std::vector<double, std::allocator<double> > const&)

为什么这会给我一个错误,我该如何解决?

1 个答案:

答案 0 :(得分:2)

我在gdb-7.10上重现了此失败,并且可以确认gdb-7.11及更高版本已修复此问题。我没有找到修复此故障的确切提交。

除了升级到更高版本的GDB之外,没有什么可以做修复这个问题。