malloc偶尔会导致应用程序崩溃并生成核心文件。
分配的内存量很小。可以假定malloc调用正在尝试分配已在使用的内存吗?
如果是这样,那么可能的罪魁祸首是先前的malloc,其中写入其中的数据大于分配的数量吗?
示例: malloc 1:分配大小1000,但程序恰好写1200。
完成了malloc 2的分配,再分配了1000,系统尝试在前一个malloc(malloc 1)的末尾分配空间,但随后系统意识到内存正在使用中。
这会导致崩溃吗?如果没有,记住内存将是最少的。
核心文件会有所帮助吗? 如果是这样,怎么办?您是否会遍历寄存器并转储数据,并希望可见的数据类型将您带到一段代码,该代码先前为该特定类型的数据做了malloc?