我想知道哪里有线程清除程序(clang)的死锁,但是问题是程序被阻塞了,并且在使用-fsanitize = thread选项进行编译期间没有检测到死锁。并且在执行结束时没有结果,因为该程序被阻塞(由于死锁,无法退出该程序)。
最佳答案
如果程序已经被阻止,则不需要ThreadSanitizer对其进行调试。您可以使用gdb附加到死锁的进程,并使用thread apply all bt
查看所有线程的堆栈跟踪。您应该在thread apply all bt
输出中看到尝试从不同线程锁定同一互斥锁的尝试。
关于c - 未检测到ThreadSanitizer死锁,并且最后没有结果(死锁程序的du),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60223712/