0

我想知道线程清理程序(clang)的死锁在哪里,但问题是程序被阻止并且在使用 -fsanitize=thread 选项的编译期间未检测到死锁。并且在执行结束时没有结果,因为程序被阻塞(由于死锁而无法退出程序)。

4

1 回答 1

0

如果程序已经被阻塞,你不需要 ThreadSanitizer 来调试它。您可以使用 gdb 附加到死锁进程,并使用thread apply all bt. 您应该会看到尝试从thread apply all bt输出中的不同线程锁定相同的互斥锁。

于 2020-02-14T12:08:24.377 回答