问题代码位置的确定方法和装置、存储介质及电子设备制造方法及图纸

技术编号:39396898 阅读:23 留言:0更新日期:2023-11-19 15:51
本申请公开了一种问题代码位置的确定方法和装置、存储介质及电子设备,涉及智慧家庭技术领域,该问题代码位置的确定方法包括:调用堆栈分析函数获取堆栈信息,其中,堆栈信息包括:在对系统中的内存空间执行目标操作时,目标操作对应的函数调用路径;在内存空间存在内存问题的情况下,在堆栈信息中确定函数调用路径;根据函数调用路径目标代码中确定问题代码位置,其中,目标代码为对系统中的内存空间执行目标操作时对应的代码,即本发明专利技术实施例通过插入堆栈分析函数,实时记录内存操作的堆栈现场,采用上述技术方案,解决了内存检测工具通常在嵌入式环境中存在性能开销较大、资源占用较多等问题。用较多等问题。用较多等问题。

【技术实现步骤摘要】
问题代码位置的确定方法和装置、存储介质及电子设备


[0001]本申请涉及智慧家庭
,具体而言,涉及一种问题代码位置的确定方法和装置、存储介质及电子设备。

技术介绍

[0002]嵌入式系统广泛应用于各种电子产品和设备中,具有资源有限、性能要求高、实时性要求严格等特点。在嵌入式系统开发中,内存管理的主要任务包括内存分配(malloc)和内存释放(free)。开发人员通常需要对这些内存操作进行跟踪和分析,以找出内存泄漏、内存踩踏、内存碎片和堆栈溢出等问题。
[0003]在嵌入式系统开发过程中,内存管理是一个关键的环节。由于内存资源有限,如何准确地分析和定位内存问题,实时监控内存资源使用情况,以及评估各功能模块的内存需求变得尤为重要。为此,开发人员通常会在内存分配和释放的过程中增加日志打印,记录内存操作的相关信息。然而,这种方法需要添加大量的打印信息,且很难获取到问题的第一现场,导致调试过程复杂且耗时。
[0004]现有技术中,通过内存检测工具(如Valgrind、Memwatch等)分析内存问题,这些工具可以在运行时监控内存操作本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种问题代码位置的确定方法,其特征在于,包括:调用堆栈分析函数获取堆栈信息,其中,所述堆栈信息包括:在对系统中的内存空间执行目标操作时,所述目标操作对应的函数调用路径;在所述内存空间存在内存问题的情况下,在所述堆栈信息中确定所述函数调用路径;根据所述函数调用路径目标代码中确定问题代码位置,其中,所述目标代码为对系统中的内存空间执行目标操作时对应的代码。2.根据权利要求1所述的问题代码位置的确定方法,其特征在于,在所述堆栈信息中确定所述函数调用路径,包括:在所述堆栈信息中确定多个有效的第一函数调用路径;确定所述系统的代码段地址范围,并根据所述代码段地址范围在所述第一函数调用路径中确定第二函数调用路径;确定所述第二函数调用路径的类型,并过滤所述类型为字符串类型的地址,以得到第三函数调用路径;对所述第三函数调用路径去重,以获取所述函数调用路径。3.根据权利要求1所述的问题代码位置的确定方法,其特征在于,调用堆栈分析函数获取堆栈信息,至少包括以下之一:在目标代码中内置堆栈分析函数,在对系统中的内存空间执行目标操作的情况下,调用堆栈分析函数获取堆栈信息,其中,所述目标操作包括以下之一:内存分配、内存释放,所述目标代码包括以下之一:内存分配函数、内存释放函数;将所述堆栈分析函数封装成动态链接库,并将所述动态链接库链接到所述目标代码中,在对系统中的内存空间执行目标操作的情况下,调用堆栈分析函数获取堆栈信息。4.根据权利要求1所述的问题代码位置的确定方法,其特征在于,根据所述函数调用路径确定问题代码位置,包括:通过查找映射关系表确定所述函数调用路径对应的问题代码的全局变量、函数名,其中,所述映射关系表用于指示全局变量、函数名和函数调用路径之间的对应关系;根据所述全局变量、函数名确定所述问题代码位置。5.根据权利要求1所述的问题代码位置的确定方法,其特征在于,根据所述函数调用路径确定问题代码位置,包...

【专利技术属性】
技术研发人员:邓邱伟肖良尹飞田云龙牛丽
申请(专利权)人:海尔优家智能科技北京有限公司海尔智家股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1