当前位置:  开发笔记 > 编程语言 > 正文

glibc的'-lmcheck'选项和多线程

如何解决《glibc的'-lmcheck'选项和多线程》经验,为你挑选了1个好方法。

我们一直在尝试在多线程C++应用程序中寻找一些堆损坏问题.作为一种技术,我们尝试将-lmcheck添加到应用程序的库行.这导致应用程序以相对较短的顺序崩溃,显然存在堆损坏.

我们的应用程序确实使用malloc/free和new/delete(视情况而定).

我们的一个团队想知道-lmcheck实际上是否是线程安全的,并且在所有malloc/free调用之间放置了一个mutex.崩溃消失了.

有谁知道-lmcheck是否应该支持多线程?我想知道我们是否只是误解了我们试图使用的工具,从而导致我们不必要的担忧.



1> Robert Gambl..:

不,mcheck不是线程安全的,不应该与多线程应用程序一起使用.这样做会引入其他问题,因为线程之间没有同步.以下是几个月前Ulrich Drepper(glibc维护者)对此主题的回应:

mcheck不适用于多线程代码.它不可能做到.使用mcheck底层技术无法解决这个问题.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有