未检测到ThreadSanitizer死锁,并且最后没有结果(死锁程序的du)

问题描述 投票:0回答:1

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

c pthreads clang deadlock thread-sanitizer
1个回答
0
投票

如果程序已经被阻止,则不需要ThreadSanitizer对其进行调试。您可以使用gdb附加到死锁的进程,并使用thread apply all bt查看所有线程的堆栈跟踪。您应该在thread apply all bt输出中看到尝试从不同线程锁定同一互斥锁的尝试。

© www.soinside.com 2019 - 2024. All rights reserved.