我有一段代码,我正在使用 malloc_trim(0) 将任何未使用的内存释放回系统。 但是我断断续续地看到它会导致崩溃。下面的回溯。
Program terminated with signal SIGSEGV, Segmentation fault.
#0 mtrim (pad=0, av=0xffff8eebf9f8 <main_arena>) at malloc.c:4771
4771 INTERNAL_SIZE_T size = chunksize (p);
#0 mtrim (pad=0, av=0xffff8eebf9f8 <main_arena>) at malloc.c:4771
#1 __malloc_trim (s=s@entry=0) at malloc.c:4822
我想知道这次崩溃的原因以及如何避免它。
我检查了 malloc_trim() 的手册页,它看起来不会导致崩溃。