例如:
char* word = (char*)malloc(10);
word = "abc"; //应使用 strcpy(word, "abc");
free(word); //崩溃报错
实际项目中可能此类问题没法直观定位到,推荐使用gcc自带的 asan 检查内存错误。【解决】munmap_chunk(): invalid pointer
来源:清泛原创 2021-08-06 15:55:13 人气: 我有话说( 0 人参与)
原因:new malloc出来的指针被覆盖掉了,然后delete free就会报这个错误。例如:char* word = (char*)malloc(10);word = "abc"; 应使用 strcpy(word, "abc");free(word)
char* word = (char*)malloc(10);
word = "abc"; //应使用 strcpy(word, "abc");
free(word); //崩溃报错
实际项目中可能此类问题没法直观定位到,推荐使用gcc自带的 asan 检查内存错误。
上一篇:【解决】asan runtime does not come first in initial library list
下一篇:【解决】double free or corruption (!prev)