调用堆栈确定方法、装置、电子设备及存储介质与流程

文档序号:34993034发布日期:2023-08-03 22:01阅读:30来源:国知局
调用堆栈确定方法、装置、电子设备及存储介质与流程

本申请涉及互联网通信,尤其涉及一种调用堆栈确定方法、装置、电子设备及存储介质。


背景技术:

1、随着互联网通信技术的发展,各类互联网产品层出不穷。为保证相关互联网产品的正常使用以为使用用户提供服务体验,常需要对相关互联网产品进行调试、问题定位等,因而需要有效确定相关的调用堆栈。相关技术中,所确定的调用堆栈往往关注于异步调用后的函数,因而对于异步调用场景缺乏适应性。比如,在a线程调用一个函数,却在b线程执行这个函数的代码块,那么所述确定的调用堆栈关注于这个函数,而无法回溯到异步调用前涉及的函数(如在a线程执行的函数)。因此,需要提供适应异步调用场景的调用堆栈确定方案。


技术实现思路

1、为了解决现有技术应用在确定调用堆栈时,对于异步调用场景适应性差等问题,本申请提供了一种调用堆栈确定方法、装置、电子设备及存储介质:

2、根据本申请的第一方面,提供了一种调用堆栈确定方法,所述方法包括:

3、响应于调用堆栈确定指令,确定对应的当前线程;

4、确定所述当前线程对应的第一类调用堆栈,以及确定所述第一类调用堆栈对应的调用表征信息;其中,所述第一类调用堆栈是基于所述当前线程的执行函数构建的;

5、在存储对象中确定出指示所述调用表征信息的第二类调用堆栈;其中,所述存储对象用于存储不同线程对应的调用堆栈,所述第二类调用堆栈是基于所述当前线程的关联线程的执行函数构建的,所述调用表征信息指示了所述第一类调用堆栈中执行函数与所述第二类调用堆栈中执行函数的调用关系;

6、拼接所述第一类调用堆栈和所述第二类调用堆栈得到目标调用堆栈。

7、根据本申请的第二方面,提供了一种调用堆栈确定装置,所述装置包括:

8、线程确定模块:用于响应于调用堆栈确定指令,确定对应的当前线程;

9、第一类调用堆栈确定模块:用于确定所述当前线程对应的第一类调用堆栈,以及确定所述第一类调用堆栈对应的调用表征信息;其中,所述第一类调用堆栈是基于所述当前线程的执行函数构建的;

10、第二类调用堆栈确定模块:用于在存储对象中确定出指示所述调用表征信息的第二类调用堆栈;其中,所述存储对象用于存储不同线程对应的调用堆栈,所述第二类调用堆栈是基于所述当前线程的关联线程的执行函数构建的,所述调用表征信息指示了所述第一类调用堆栈中执行函数与所述第二类调用堆栈中执行函数的调用关系;

11、拼接模块:用于拼接所述第一类调用堆栈和所述第二类调用堆栈得到目标调用堆栈。

12、根据本申请的第三方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如第一方面所述的调用堆栈确定方法。

13、根据本申请的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如第一方面所述的调用堆栈确定方法。

14、根据本申请的第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如第一方面所述的调用堆栈确定方法。

15、本申请提供的一种调用堆栈确定方法、装置、电子设备及存储介质,具有如下技术效果:

16、本申请响应于调用堆栈确定指令,确定对应的当前线程;然后,确定当前线程对应的第一类调用堆栈,以及确定第一类调用堆栈对应的调用表征信息;再者,在存储对象中确定出指示调用表征信息的第二类调用堆栈,进而拼接第一类调用堆栈和第二类调用堆栈得到目标调用堆栈。本申请利用存储对象和调用表征信息实现异步调用堆栈的回溯,提高了调用堆栈确定在异步调用场景的适应性,也提高了对相关互联网产品进行调试、问题定位的效率。相较于相关技术提供的调用堆栈确定方案,第一类调用堆栈可以关注于异步调用后的函数,第二类调用堆栈可以关注异步调用前的函数,同时调用表征信息指示了第一类调用堆栈中执行函数与第二类调用堆栈中执行函数的调用关系,这样实现了对于异步调用前所涉及函数的回溯,也保证了调用堆栈确定在异步调用场景的准确度。



技术特征:

1.一种调用堆栈确定方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述在存储对象中确定出指示所述调用表征信息的第二类调用堆栈,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1-5任一项所述的方法,其特征在于:

7.根据权利要求1-5任一项所述的方法,其特征在于:

8.一种调用堆栈确定装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7任一项所述的调用堆栈确定方法。

10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7任一项所述的调用堆栈确定方法。

11.一种计算机程序产品,其特征在于,所述计算机程序产品包括至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7任一项所述的调用堆栈确定方法。


技术总结
本申请公开了一种调用堆栈确定方法、装置、电子设备及存储介质。该方法包括:响应于调用堆栈确定指令,确定对应的当前线程;确定当前线程对应的第一类调用堆栈,以及确定第一类调用堆栈对应的调用表征信息;在存储对象中确定出指示调用表征信息的第二类调用堆栈;拼接第一类调用堆栈和第二类调用堆栈得到目标调用堆栈。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。本申请利用存储对象和调用表征信息实现异步调用堆栈的回溯,提高了调用堆栈确定在异步调用场景的适应性,也提高了对相关产品进行调试、问题定位的效率。

技术研发人员:王旭飞
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1