*** glibc detected *** java: free(): invalid next size (fast): 0x00000000024b19d0 ***

是内存泄露的问题。 数组

(1)通常是free了没有分配的内存函数

(2)是malloc函数分配的堆空间操做越界了。例如strcpy(str,pt),pt指向一个20字节的字符串,str是指向分配15字节的堆空间,就会出现以上问题。debug

(3)还有就是分配了内存忘记释放也有可能会出现这样的问题。 blog

(4)最后查出来是数组循环的时候越界了 , 写到了其余的内存里面, 而后一free那个区域就出现了这样的问题。内存

 

是有allocate引发的,一个debug的方法是把你怀疑的矩阵(好比释放了就会报内存错误)定义成静态的,这样若是出现越界,会报段错误。依次检查是否你的数组真的越界了。字符串

最终核实是内部ivs so 数组越界了。循环

相关文章
相关标签/搜索