调用new关键字C ++时,Glibc检测到malloc()内存损坏(0xb6179bb8)

时间:2010-10-01 05:04:21

标签: c++ c glibc

我的程序运行到调用 new 关键字会导致上述错误的程度。即char* a = new char[100]。该错误每次都是可重现的。我运行该程序,直到调用 new 关键字为止。这似乎是内存位置在这一点上被破坏了,但我不确定他的问题是什么。

出现此错误的可能原因是什么?

1 个答案:

答案 0 :(得分:10)

此错误表示您已损坏系统内存管理器的簿记数据。 这种损坏通常是错误使用指针的结果,例如

  • 使用未初始化的指针
  • 在它引用的内存之后使用指针已被释放(释放可能是通过另一个指针发生的)
  • 在数组边界外写字