linux 死锁问题调试

pstack 及 strace查看进程当前hung在什么地方


gdb attach又要调试的进程

info threads查看每个线程运行在什么位置,主要查看__lll_mutex_lock_wait的线程

t <thread id> 切换到死锁的线程

f <function id> 切换到正在lock的函数

p <mutex variable> 成员__owner说明等待的锁被什么线程获得

同上,切换到那个线程,如果他等待的锁也被上一个线程获得,那就说明发生了死锁

你可能感兴趣的:(linux 死锁问题调试)