对于 p = malloc(1024 * 1024 * 20); 在我的 FreeBSD 6.2 上是不能正确 valgrind 的,valgrind 不允许一次分配太大的内存,否则提示:
valgrind: vg_malloc2.c:1008 (vgPlain_arena_malloc): Assertion `new_sb != ((void*)0)' failed
让人郁闷的是,这个提示怎么看都看不出 malloc() 分配内存太多而导致的。- -#
不知道是 valgrind 一直没更新,还是 BSD port 的 valgrind 太老。反正很早就看到有人给 valgrind 提这个 bug 了:
http://bugs.kde.org/show_bug.cgi?id=78048
评论