【发布时间】:2011-02-19 10:02:35
【问题描述】:
- 根据 2008 年的帖子(我现在找不到),glibc heap check 在多线程环境中不起作用。 2010年现在还是这样吗?
- 是否默认启用堆检查? (GCC 4.1.2)?我没有设置 MALLOC_CHECK_,不知道调用 mcheck(),但有时仍会收到带有回溯的双重免费 glibc 错误。也许它是由一些编译标志启用的?
【问题讨论】:
-
使用 valgrind,这个问题就变得没有意义了。 valgrind.org
-
@msw valgrind 很好,它们不会发生冲突。 MALLOC_CHECK_ 比 valgrind 轻得多,并且在设置后不需要任何操作 frp、用户(例如,通过 lvalgrind 运行应用程序,检查 valgrind 的输出)。这不是 valgrind 的情况。无论如何,我的问题不是关于 valgrind :)
标签: gcc glibc memory-corruption