- 0
- 0
- 约1.62万字
- 约 25页
- 2026-01-23 发布于重庆
- 举报
(19)国家知识产权局
(12)发明专利
(10)授权公告号CN113742119B(45)授权公告日2025.07.15
(21)申请号202110845087.2
(22)申请日2021.07.26
(65)同一申请的已公布的文献号申请公布号CN113742119A
(43)申请公布日2021.12.03
(56)对比文件
CN101539883A,2009.09.23CN102646051A,2012.08.22审查员刘凤娇
(73)专利权人上海闻泰信息技术有限公司
地址200062上海市普陀区云岭东路89号
2111-L室
(72)发明人黎发明
(74)专利代理机构北京开阳星知识产权代理有限公司11710
专利代理师王艳斌
(51)Int.CI.
GO6F11/07(2006.01)
权利要求书2页说明书8页附图3页
(54)发明名称
嵌入式系统的调用栈回溯方法、装置和计算
机设备
(57)摘要
CN113742119B本申请涉及计算机领域,提供了一种嵌入式系统的调用栈回溯方法、装置和计算机设备。方法包括:基于指定编译命令和宕机异常处理程序对程序源代码文件进行编译链接,生成ELF格式的目标文件;其中,指定编译命令用于记录函数栈帧的起始地址;当系统发生异常时,保存寄存器信息和目标文件对应的函数栈帧,并执行宕机异常处理程序;寄存器信息包括:FP寄存器和LR寄存器;通过宕机异常处理程序基于FP寄存器和LR寄存器对函数栈帧进行分析,得到发生异常的目标函数的调用地址表;采用预设的地址解析工具,解析出调用地址表中的地址在目标文件中的调用栈回溯信息。采用本方法能够更加高效、准确地回溯完整的调用关
CN113742119B
获取程序源代码文件、指定编译命令和宕机异常处理程序
基于指定编译命令和宕机异常处理程序对程序源代码文|件进行编译链接,生成ELF格式的目标文件
当系统发生异常时,保存寄存器信息和目标文件对应的函数栈帧,并执行宕机异常处理程序
通过宕机异常处理程序基于FP寄存器和LR寄存器对函数栈帧进行分析,得到发生异常的目标函数的调用地址表
采用预设的地址解析工具,解析出调用地址表中的地址在目标文件中的调用栈回溯信息
S102
S104
S106
-S108
CN113742119B权利要求书1/2页
2
1.一种嵌入式系统的调用栈回溯方法,其特征在于,所述方法包括:
获取程序源代码文件、指定编译命令和宕机异常处理程序;其中,所述指定编译命令用于记录函数栈帧的起始地址;
基于所述指定编译命令和所述宕机异常处理程序对所述程序源代码文件进行编译链接,生成可执行可链接ELF格式的目标文件;
当系统发生异常时,保存寄存器信息和所述目标文件对应的函数栈帧,并执行所述宕机异常处理程序;其中,所述寄存器信息包括:用于记录当前函数的栈帧的起始地址的FP寄存器,和用于记录调用所述当前函数的上级函数的返回地址的LR寄存器;
通过所述宕机异常处理程序基于所述FP寄存器和所述LR寄存器对所述函数栈帧进行分析,得到发生异常的目标函数的调用地址表;
采用预设的地址解析工具,解析出所述调用地址表中的地址在所述目标文件中的调用栈回溯信息;
其中,所述通过所述宕机异常处理程序基于所述FP寄存器和所述LR寄存器对所述函数栈帧进行分析,得到发生异常的目标函数的调用地址表,包括:
将发生异常的目标函数作为当前函数,重复执行如下回溯推导算法,直至回溯得到所述目标函数的调用地址表:
从所述当前函数的栈帧对应的FP寄存器中获取所述当前函数的起始地址;
从所述当前函数的栈帧对应的LR寄存器中获取返回地址;
根据所述起始地址得到调用所述当前函数的上一级函数,并将所述上一级函数作为新的当前函数;
当所述新的当前函数的栈帧对应的LR寄存器为空值时,停止所述回溯推导算法,并基于停止所述回溯推导算法时得到的所有的起始地址和返回地址生成调用地址表。
2.根据权利要求1所述的方法,其特征在于,所述基于所述指定编译命令和所述宕机异常处理程序对所述程序源代码文件进行编译链接,生成ELF格式的目标文件,包括:
采用所述指定编译命令对所述程序源代码文件进行编译,得到编译结果文件;
将所述宕机异常处理程序注入所述编译结果文件中,生成ELF格式的目标文件。
3.根据权利
您可能关注的文档
- CN112837241B 建图重影去除方法、设备及存储介质 (贵州京邦达供应链科技有限公司).docx
- CN112840473B 形成有机-无机金属卤化物钙钛矿的晶体或多晶层的方法 (牛津光伏有限公司).docx
- CN112884665B 一种动画播放方法、装置、计算机设备及存储介质 (腾讯科技(深圳)有限公司).docx
- CN112907451B 图像处理方法、装置、计算机设备和存储介质 (腾讯科技(深圳)有限公司).docx
- CN112930701B 用于在功率受限的双连通性场景中维持长期演进话务的方法和装置 (高通股份有限公司).docx
- CN112951804B 包括划线的半导体装置及制造半导体装置的方法 (三星电子株式会社).docx
- CN112996558B 用于多通道同时大功率磁线圈驱动器的方法和装置 (约纳·佩莱德).docx
- CN113011206B 手持扫描仪及其扫描方法 (先临三维科技股份有限公司).docx
- CN113034348B 图像处理方法、装置、存储介质及设备 (北京字节跳动网络技术有限公司).docx
- CN113078153B 半导体器件及其形成方法 (台湾积体电路制造股份有限公司).docx
- CN113743637B 基于协同过滤的煤气浓度预测方法、设备及冰箱 (青岛海尔电冰箱有限公司).docx
- CN113748610B 用于在无线通信系统中执行波束改变的电子设备及其方法 (三星电子株式会社).docx
- CN113760678B 一种页面渲染时长的统计方法和装置 (北京沃东天骏信息技术有限公司).docx
- CN113763381B 一种融合图像全局信息的对象检测方法及系统 (北京工业大学).docx
- CN113777878B 弹性板、创建其的方法和成像系统 (艾司科软件有限公司).docx
- CN113781141B 一种移动售卖巡检方法、调度方法及装置 (北京京东乾石科技有限公司).docx
- CN113792331B 一种基于对抗性干扰的联邦学习成员推理攻击防御方法 (北京理工大学).docx
- CN113794195B 阵列式直流电源系统及管理方法 (深圳市泰昂能源科技股份有限公司).docx
- CN113796154B 用于协调用户设备(ue)直接波束通信的方法和装置 (高通股份有限公司).docx
- CN113808057B 基于无监督学习的内窥镜图像增强方法 (上海大学).docx
原创力文档

文档评论(0)