c - 我不知道C中的 'glibc detected'

标签 c unix glibc

当我结束程序时,我发现像这样的“检测到 glibc”消息。 但是,我不知道这是错误或警告还是其他......有人可以解释这条消息的含义以及我必须做什么吗?

enter image description here

最佳答案

这意味着您的程序中存在堆损坏。您可能使用malloc分配一些内存,但在实际边界之外写入,从而损坏了堆。当您调用free时,glibc会检测到损坏并报告它(具体来说,下一个空闲 block 的大小将被覆盖)。

你绝对应该解决这个问题。 Valgrind对于追踪实际导致堆损坏的代码有很大帮助。

关于c - 我不知道C中的 'glibc detected',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10864931/

相关文章:

C++ 到 C 的转换

c - 为什么 gmtime_r 会调用获取全局锁的 __tz_convert?

linux - glibc 2.14安装错误selinux.c : error: libaudit. h没有这样的文件或目录

c - 将大型 (~4MB) 文件上传到 boa 网络服务器时出现不可预测的行为

c - 在C中实现字符串复制函数

c++ - 如何返回静态数组指针

c++ - Lua 脚本 - 再次运行

linux - 如何根据 AWK/UNIX 中的公共(public)字段将行中分离的字段合并为一个

unix - 杀死 Unix 中 PID 最小的进程

linux - 将 unix 操作系统命令的外部重定向到 html 页面