我正在使用C,我正在调试一个多线程(两个线程)进程的核心转储。 我在gdb中看到,在极少数情况下,两个线程都获取了mutex_lock。有没有办法可以检查gdb中拥有锁的线程? 我正在运行Linux的味道.. 此外,我不允许发布代码,因为它是专有的。
答案 0 :(得分:1)
在获取并释放有问题的锁的每一行(当然更改printf文本)中,执行以下操作:
break file:line
commands
printf "acquiring lock"
info threads
cont
end