这是一个项目的 valgrind 输出:
==2433== Invalid free() / delete / delete[] / realloc()
==2433== at 0x402B06C: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2433== by 0x43F345B: av_freep (mem.c:172)
==2433== by 0x5A6F4D2: (below main) (libc-start.c:226)
==2433== Address 0xb3fd830 is 48 bytes inside a block of size 111,634 alloc'd
==2433== at 0x402BE68: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2433== by 0x80BB6B5: _talloc_realloc (talloc.c:997)
Address
与以 开头的行相比,以 开头的行缩进一个空格Invalid
。这是否意味着一个导致另一个?或者他们是分开的?
如果是分开的,by 0x5A6F4D2: (below main) (libc-start.c:226)
从哪里来?我觉得(below main)
这与它有关,但我在硬盘驱动器上的任何地方都找不到 libc-start.c。