c++ - Glibc 在调用新关键字 C++ 时检测到 malloc() 内存损坏 (0xb6179bb8)

标签 c++ c glibc

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

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

最佳答案

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

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

关于c++ - Glibc 在调用新关键字 C++ 时检测到 malloc() 内存损坏 (0xb6179bb8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3836664/

相关文章:

c++ - 访问Qt3DRender::QBuffer的数据时数据指针为<QArrayData::shared_null+24>

c++ - 如何从进程内部确定 CPU 和内存消耗

c++ - 有没有办法标记不可重入 C 库调用的使用?

c - 将 char* 传递给需要 unsigned char* 的方法

linux - "arm-linux-gcc"和 "sim-panalyzer"导致的奇怪错误位于glibc函数 "dl_aux_init"

c++ - 在 linux mint 上部署 C++ wxWidgets

c++ - 打开 .dat 文件时遇到问题

c - 是否允许在 POSIX 中复制未命名的信号量?

c - `asprintf` 是线程安全的吗?

c++ - 如何为命令行程序制作图形用户界面?