gdb查看锁的信息

1、起因

两个线程A和B,共享变量C。

A线程想对C加锁,恰巧此时切换到B线程,B线程也想对C加锁。

2、调试

(1)打开gdb,输入 

thread apply all bt 

查看所有线程的backtrace信息;

 

 (2)进入线程2,backtrace

 

 (3)找到调用 pthread_mutex_lock(&(sock->recv_lock)) 的那个帧,进入

 

 (4)在该帧中查看该锁的占用者

 

 (5)info thread 查看所有线程的信息

posted @   春山可  阅读(432)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示