检测POSIX pthreads API但不是Helgrind

时间:2018-02-17 06:35:05

标签: c++ pthreads valgrind dr-memory thread-sanitizer

出于某种原因,我无法使用Helgrind来检测POSIX pthreads API的误用(例如,解锁非锁定互斥锁,释放包含锁定互斥锁的内存等)。我试图找到另一个工具,但实际上失败了。正如我所知,Memory博士不能用于检测线程错误,并且Thread Sanitizer只能检测数据竞争。真的是这样吗?能否请你推荐一些其他工具?

1 个答案:

答案 0 :(得分:0)

Thread Sanitizer 检测到您提到的内容(解锁互斥锁的解锁,锁定互斥锁的破坏)以及线程泄漏等更多错误。