当glibc detected *** free(): invalid next size (normal)出现
是内存泄露的问题。
(1)一般是free了没有分配的内存
(2)还有就是分配了内存忘记释放也有可能会出现这样的问题。
(3)最后查出来是数组循环的时候越界了 , 写到了其他的内存里面, 然后一free那个区域就出现了这样的问题。
是有allocate引起的,一个debug的方法是把你怀疑的矩阵(比如释放了就会报内存错误)定义成静态的,这样如果出现越界,会报段错误。依次检查是否你的数组真的越界了。
本文分析了glibcdetected***free():invalidnextsize(normal)错误的原因,包括释放未分配的内存、内存泄露及数组越界等问题,并提供了一种通过定义静态矩阵进行调试的方法。
3884

被折叠的 条评论
为什么被折叠?



