我应该使用Helgrind还是DRD进行线程错误检测?

Jef*_*.D. 28 c valgrind pthreads

看起来Valgrind有两个工具都可以进行线程错误检测:HelgrindDRD.这些工具基本相似.

我的主要问题是:我应该何时使用一个而不是另一个来检查我的多线程代码?

更广泛地说,为什么有两种工具?我认为它们并非完全多余.有什么重要的区别?我是否应该计划通过这两种工具运行我的代码?

Bar*_*che 7

虽然Helgrind可以检测到锁定顺序违规,但对于大多数程序,DRD需要较少的内存来执行其分析.此外,DRD支持分离线程.还有更微妙的差异 - 如果您想了解更多,请比较相应的手册.另见http://valgrind.org/docs/manual/hg-manual.htmlhttp://valgrind.org/docs/manual/drd-manual.html.