[发明专利]获取调用栈栈帧指令偏移的方法、装置、介质和设备有效

专利信息
申请号: 201910835073.5 申请日: 2019-09-05
公开(公告)号: CN110764941B 公开(公告)日: 2023-04-18
发明(设计)人: 刘洪凯 申请(专利权)人: 北京字节跳动网络技术有限公司
主分类号: G06F11/07 分类号: G06F11/07
代理公司: 北京国昊天诚知识产权代理有限公司 11315 代理人: 王思超
地址: 100041 北京市石景山区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 获取 调用 栈栈帧 指令 偏移 方法 装置 介质 设备
【权利要求书】:

1.一种获取调用栈栈帧指令偏移的方法,其特征在于,包括:

初始化SDK,构建信号处理函数,其中所述信号处理函数包括一个信号S以及两个变量NSID和SID,其中,变量NSID表示需要被暂停的目标线程ID,变量SID表示已经被暂停的目标线程ID,所述初始化SDK,还包括:获取存储本地服务的指针参数;获取指定文件目录下的构建函数,所述构建函数用于构建java线程调用栈底层表示对象;

获取程序运行过程中的调用栈存储对象;

将所述调用栈存储对象强转化为对象数组;

获取所述对象数组的第一个元素,并将所述第一个元素强转化为整型数组或长整型数组;

截取所述整型数组或长整型数组的后半段数据,获得所述调用栈栈帧指令偏移;

其中,所述获取程序运行过程中的调用栈存储对象,包括:

获取目标线程的ID;

根据所述目标线程的ID,暂停所述目标线程;

从所述暂停的目标线程中获取所述调用栈存储对象;

恢复所述目标线程的执行。

2.如权利要求1所述的方法,其特征在于,所述获取目标线程的ID,包括:

调用名称提取函数;

通过所述名称提取函数获取所述目标线程的名称;

遍历指定文件目录下的所有子目录,通过所述目标线程的名称查找所述目标线程的ID。

3.如权利要求2所述的方法,其特征在于,所述根据所述目标线程的ID,暂停所述目标线程,包括:

将所述变量NSID的值置为所述目标线程的ID,向所述目标线程发送信号S;

所述目标线程收到所述信号S后执行所述信号处理函数;

通过所述信号处理函数,检测所述变量NSID的值是否与所述目标线程的ID相等;

如果相等,则令变量SID的值为所述目标线程的ID;

所述目标线程暂停执行。

4.如权利要求3所述的方法,其特征在于,所述从所述暂停的目标线程中获取所述调用栈存储对象,包括:

将所述存储本地服务的指针参数输入所述构建函数,获取所述调用栈存储对象。

5.如权利要求4所述的方法,其特征在于,所述恢复所述目标线程的执行,包括:

将所述变量NSID的值置为0,使所述目标线程检测到所述变量NSID的值与所述目标线程的ID不相等;

将所述变量SID的值置为0,退出所述信号处理函数,恢复所述目标线程的执行。

6.一种获取调用栈栈帧指令偏移的装置,其特征在于,包括:

初始化单元,用于初始化SDK,构建信号处理函数,其中所述信号处理函数包括一个信号S以及两个变量NSID和SID,其中,变量NSID表示需要被暂停的目标线程ID,变量SID表示已经被暂停的目标线程ID,所述初始化SDK,还包括:获取存储本地服务的指针参数;获取指定文件目录下的构建函数,所述构建函数用于构建java线程调用栈底层表示对象;

第一获取单元,用于获取程序运行过程中的调用栈存储对象;

转化单元,用于将所述调用栈存储对象强转化为对象数组;

第二获取单元,用于获取所述对象数组的第一个元素,并将所述第一个元素强转化为整型数组或长整型数组;

截取单元,用于截取所述整型数组或长整型数组的后半段数据,获得所述调用栈栈帧指令偏移;

其中,所述获取程序运行过程中的调用栈存储对象,包括:

获取目标线程的ID;

根据所述目标线程的ID,暂停所述目标线程;

从所述暂停的目标线程中获取所述调用栈存储对象;

恢复所述目标线程的执行。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5中任一项所述的方法。

8.一种电子设备,其特征在于,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的方法。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/pat/books/201910835073.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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