[发明专利]程序死锁检测方法、存储介质、设备及系统有效

专利信息
申请号: 201710528372.5 申请日: 2017-07-01
公开(公告)号: CN109213576B 公开(公告)日: 2022-04-08
发明(设计)人: 杨亮;陈少杰;张文明 申请(专利权)人: 武汉斗鱼网络科技有限公司
主分类号: G06F9/46 分类号: G06F9/46;G06F9/48
代理公司: 武汉智权专利代理事务所(特殊普通合伙) 42225 代理人: 张凯
地址: 430000 湖北省武汉市东湖开*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及操作系统领域,公开了一种程序死锁检测方法、存储介质、设备及系统,该方法包括S1:在线程的线程句柄创建函数、信号事件创建函数、互斥体创建函数和临界区创建函数中均加入一hook函数;S2:通过hook函数分别获取线程句柄创建函数、信号事件创建函数、互斥体创建函数和临界区创建函数所对应的当前线程以及当前线程的线程ID;S3:将获取的线程、线程ID以及获取的线程所拥有的资源存储于全局字段中;S4:根据全局字段中的线程ID,调用系统的等待函数获取全局字段中每个线程所等待的资源;S5:从全局字段中任取两个线程进行死锁判断。本发明能够对程序的死锁进行及时而有效的检测。
搜索关键词: 程序 死锁 检测 方法 存储 介质 设备 系统
【主权项】:
1.一种程序死锁检测方法,用于当程序采用线程的同步和互斥机制进行多线程运行时,判断程序是否发生死锁,所述线程的同步和互斥机制包括信号事件、临界区、互斥体、以及线程句柄,所述程序运行于Windows操作系统上,其特征在于,包括:S1:在线程的线程句柄创建函数、信号事件创建函数、互斥体创建函数和临界区创建函数中均加入一hook函数;S2:当线程句柄创建函数、信号事件创建函数、互斥体创建函数或临界区创建函数分别相应地进行线程、信号事件、互斥体或临界区的创建时,通过hook函数分别获取线程句柄创建函数、信号事件创建函数、互斥体创建函数和临界区创建函数所对应的当前线程以及当前线程的线程ID;S3:将获取的线程、线程ID以及获取的线程所拥有的资源存储于全局字段中;S4:根据全局字段中的线程ID,调用系统的等待函数获取全局字段中每个线程所等待的资源;S5:从全局字段中任取两个线程,若其中第一个线程所等待的资源为第二个线程所拥有的资源,且第二个线程所等待的资源为第一个线程所拥有的资源,则程序发生死锁,若否,则程序未发生死锁。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710528372.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top