Linux死锁分析


1.工具

    pstack 进程PID,多次查看线程状态,如果一直处于一样,则锁住了,需进一步分析 谁 拿了锁,

为了方便对应代码分析 ,需要打印出线程的TID 非线程ID,

{

#include

pid_t tid = (pid_t)syscall(SYS_gettid);
}

2. gdb attach PID

info thread

t 1

p mutex 可看到哪个线程(TID) 拿了锁

 

参考:

http://www.ibm.com/developerworks/cn/linux/l-cn-deadlock/

一个 Linux 上分析死锁的简单方法

3. valgrind 工具 用于内存问题分析,非常准。目前只有linux版本。

你可能感兴趣的:(Linux开发)