[发明专利]一种函数调用次数的统计方法、存储介质及终端设备有效
申请号: | 201710686003.9 | 申请日: | 2017-08-11 |
公开(公告)号: | CN107544896B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 李小军;孟庆晓;向卫东 | 申请(专利权)人: | 深圳震有科技股份有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;唐敏 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 调用 次数 统计 方法 存储 介质 终端设备 | ||
本发明公开了一种函数调用次数的统计方法、存储介质及终端设备,所述方法包括:当执行分支指令时,触发调试中断并获取触发调试中断时的PC值;将所述PC值对应的调用次数加一,并根据PC值的调用次数来统计函数的调用次数。本发明通过分支指令触发调试中断,进入调试中断程序,并通过调试中断程序获取触发中断时的PC值,并将所述PC值的调用次数加一,再根据PC值在符号表中查找其对应的函数,进而将所述函数的调用次数加一,实现了对函数调用次数的统计。并且本发明提供的统计方法可以对内核中存储的函数的调用次数进行统计,解决了嵌入式系统的函数的调用次数无法统计的问题。
技术领域
本发明涉及嵌入式系统技术领域,特别涉及一种函数调用次数的统计方法、存储介质及终端设备。
背景技术
随着电子信息产业的发展,嵌入式系统的应用已逐渐渗透到工业控制、定位导航、移动终端等多个领域。由于嵌入系统已被方法应用,从而嵌入式系统性能成为人们关注的热点。而在嵌入式系统性能优化方法中,一种通过首先统计嵌入式系统中每个函数的执行次数,然后对执行次数在前10%的函数进行单独性能优化的方法可以很好提高分布式系统性能。对于上述优化方法,如何统计每个函数的执行次数成为分别行系统性能优化的关键步骤。
目前函数调用次数的统计方法普遍采用穷举法,即在每个函数入口增加调用次数,以统计每个函数的调用次数。但是,一方面由于嵌入系统置于内核,另一方面由于嵌入式系统内的函数个数成千上万,从而无法采用穷举法统计嵌入式系统的函数的调用次数。因此如何统计每个函数的执行次数成为有待解决的问题。
因而现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种函数调用次数的统计方法、存储介质及终端设备,实现了对嵌入式系统内函数调用次数的统计。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种函数调用次数的统计方法,其包括:
当执行分支指令时,触发调试中断并获取触发调试中断时的PC值;
将所述PC值对应的调用次数加一,并根据PC值的调用次数来统计函数的调用次数。
所述函数调用次数的统计方法,其中,所述当执行分支指令时,触发调试中断并获取触发调试中断时的PC值具体为:
检测当前执行的指令是否为分支指令;
当检测到分支指令时,调用预设的中断向量以触发调试中断,并获取触发跳转中断时的PC值。
所述函数调用次数的统计方法,其中,所述当检测到分支指令时,调用预设的中断向量以触发调试中断,并获取触发跳转中断时的PC值具体包括:
当检测到分支指令时,调用预设的中断向量以进入调试中断进程;
通过所述调试中断进程获取触发调试中断时PC寄存器的值以确定触发调试中断时的PC值。
所述函数调用次数的统计方法,其中,所述当执行分支指令时,触发调试中断并获取触发调试中断时的PC值之前还包括:
预设建立一PC数组,用于存储PC值及其被调用的调用次数。
所述函数调用次数的统计方法,其中,所述将所述PC值对应的调用次数加一,并根据PC值的调用次数统计其对应函数的调用次数具体包括:
在所述PC数组中查找所述PC值;
若查找到所述PC值,则将所述PC值对应的调用次数加一,并根据所述PC数组来统计每个函数的调用次数。
所述函数调用次数的统计方法,其中,所述将所述PC值对应的调用次数加一,并根据PC值的调用次数来统计函数的调用次数还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳震有科技股份有限公司,未经深圳震有科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710686003.9/2.html,转载请声明来源钻瓜专利网。