首页
社区
课程
招聘
[讨论]项目搞了很多锁,有没有什么工具可以评估死锁的可能性?
发表于: 2017-5-30 19:36 3147

[讨论]项目搞了很多锁,有没有什么工具可以评估死锁的可能性?

2017-5-30 19:36
3147

死锁了,我会调试确定,windbg绝对强大


但是程序设计中很多死锁概率很低,在某些特定情况下可能死锁,这是个不定时炸弹

那有什么工具能够评估这种死锁的可能性呢?

例如扫描每个线程的上锁顺序,保证上锁解锁顺序一致性


关键是什么工具可以实现这种扫描?


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 1088
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
用锁太LOW了.改用队列,世界很安逸
2017-5-30 20:57
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
map操作不需要锁吗?
2017-5-30 22:27
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Tebox 用锁太LOW了.改用队列,世界很安逸
队列传输消息可以,我是对存储的信息操作
2017-5-30 22:28
0
雪    币: 230
活跃值: (137)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
1、先画时序图,理清各个线程直接的关系和主要职责;
2、对资源或者数据进行甄别,哪些是需要保护的,除了自己写的代码,系统API的操作也要注意,比如窗口消息和窗口处理只能在创建窗口的那个线程进行处理;
3、windows  平台你可以试试  intel  的vtune  或者  performance  tool  kit  ,说不定有惊喜
2017-5-31 07:00
0
雪    币: 12876
活跃值: (9352)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
6

server程序不都是io线程接收到数据直接post给worker处理的吗
GUI程序就更不用说了,我选择信号槽
ps:libuv大法好,异步回调保平安

pss:整个项目里都是锁说明你项目的架构设计有问题,最起码你自己没有理清楚架构

2017-5-31 09:01
0
雪    币: 4576
活跃值: (2211)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
不管概率低不低  我觉得肯定会遭锁死
2017-5-31 09:02
0
雪    币: 433
活跃值: (2130)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
cqzhou 不管概率低不低 我觉得肯定会遭锁死
hhhhhhhh
2017-6-1 23:54
0
游客
登录 | 注册 方可回帖
返回