[发明专利]提取程序无响应发生时函数栈的提取方法和装置有效
申请号: | 201510689604.6 | 申请日: | 2015-10-22 |
公开(公告)号: | CN106610881B | 公开(公告)日: | 2019-05-07 |
发明(设计)人: | 方刚 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提取 程序 响应 发生 函数 方法 装置 | ||
1.一种提取程序无响应发生时函数栈的提取方法,其特征在于,包括以下步骤:
建立子线程,并通过所述子线程建立第一变量和第二变量,其中,所述第二变量等于所述第一变量;
所述子线程发送任务至主线程,其中,所述任务用于在被所述主线程执行时修改所述第一变量;
所述子线程在预设时间之后判断所述第一变量和第二变量是否相等;以及
如果所述第一变量和第二变量相等,则所述子线程判断所述任务未被所述主线程执行而导致程序无响应,并提取所述主线程当前的函数栈。
2.如权利要求1所述的提取程序无响应发生时函数栈的提取方法,其特征在于,还包括:
如果所述第一变量和第二变量不相等,则所述子线程判断所述任务已被所述主线程执行。
3.如权利要求1所述的提取程序无响应发生时函数栈的提取方法,其特征在于,其中,所述任务在被所述主线程执行时使得第一变量加1之后取余。
4.如权利要求1所述的提取程序无响应发生时函数栈的提取方法,其特征在于,在所述建立所述第一变量之后,还包括:
将所述第一变量的属性设置为不稳定变量属性值Volatile。
5.如权利要求1所述的提取程序无响应发生时函数栈的提取方法,其特征在于,所述任务在被所述主线程执行时,还用于控制所述子线程休眠所述预设时间。
6.一种提取程序无响应发生时函数栈的提取装置,其特征在于,包括:
建立模块,用于建立子线程,并通过所述子线程建立第一变量和第二变量,其中,所述第二变量等于所述第一变量;
子线程控制模块,其中,所述子线程控制模块包括:
任务发送子模块,用于发送任务至主线程,其中,所述任务用于在被所述主线程执行时修改所述第一变量;
判断子模块,用于在预设时间之后判断所述第一变量和第二变量是否相等;以及
提取子模块,用于在所述第一变量和第二变量相等时,判断所述任务未被所述主线程执行而导致程序无响应,并提取所述主线程当前的函数栈。
7.如权利要求6所述的提取程序无响应发生时函数栈的提取装置,其特征在于,所述判断子模块,还用于在所述第一变量和第二变量不相等时,判断所述任务已被所述主线程执行。
8.如权利要求6所述的提取程序无响应发生时函数栈的提取装置,其特征在于,其中,所述任务在被所述主线程执行时使得第一变量加1之后取余。
9.如权利要求6所述的提取程序无响应发生时函数栈的提取装置,其特征在于,还包括:
设置模块,用于将所述第一变量的属性设置为不稳定变量属性值Volatile。
10.如权利要求6所述的提取程序无响应发生时函数栈的提取装置,其特征在于,所述任务在被所述主线程执行时,还用于控制所述子线程休眠所述预设时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510689604.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:处理器芯片仿真器
- 下一篇:新型以太网接口SM510监控系统