Взаимоблокировка ThreadSanitizer не обнаружена, и в конце нет результата (из-за заблокированной программы) - PullRequest
0 голосов
/ 14 февраля 2020

Я хотел бы знать, где находится взаимоблокировка с дезинфицирующим средством потока (clang), но проблема в том, что программа заблокирована, и во время компиляции взаимоблокировка не обнаруживается с параметром -fsanitize = thread. И нет никакого результата в конце выполнения, потому что программа заблокирована (невозможно выйти из программы из-за тупика).

1 Ответ

0 голосов
/ 14 февраля 2020

Если программа уже заблокирована, вам не нужен ThreadSanitizer для ее отладки. Вы можете присоединиться к заблокированному процессу с помощью gdb и просмотреть все трассировки стека с помощью thread apply all bt. Вы должны увидеть попытки заблокировать один и тот же мьютекс из разных потоков в выводе thread apply all bt.

...