我们一直在试图在我们的多线程C++应用程序中搜索一些堆腐败问题。作为一种技术,我们尝试将add -lmcheck添加到应用程序的库行。这导致应用程序以相对较短的顺序崩溃并出现明显的堆损坏。glibc的'-lmcheck'选项和多线程
我们的应用程序确实使用malloc/free和new/delete(如适用)。
我们的一个团队想知道-lmcheck是否实际上是线程安全的,并且在所有malloc /免费调用周围放置了一个互斥锁。碰撞消失了。
有谁知道如果-lmcheck应该支持多线程?我想知道我们是否误解了我们正在尝试使用的工具,从而导致我们不必担心。
有趣。这是否意味着提问者的“修复”虽然似乎阻止了崩溃,但实际上并非有效,并且该修改无法帮助他进行申请? – 2008-11-24 18:36:48