System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种车载终端内存泄漏处理方法、装置、设备及介质制造方法及图纸_技高网

一种车载终端内存泄漏处理方法、装置、设备及介质制造方法及图纸

技术编号:44769977 阅读:4 留言:0更新日期:2025-03-26 12:50
本申请公开了一种车载终端内存泄漏处理方法、装置、设备及介质,涉及车辆测试技术领域,包括:在车载终端系统运行的过程中,若检测到所述车载终端系统存在内核态内存泄露,则判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件;若满足预设泄漏条件,则打开内核态内存调试节点,并重启车载终端系统,然后通过埋入内核态内存申请调用栈中的探针抓取进程信息;根据进程信息追踪异常应用进程,并将进程信息打印在内核态的页申请日志中,然后关闭内核态内存调试节点并重启车载终端系统。可见,本申请能够避免长时间打开内核态内存调试节点,无需和客户联合排查,也无需重新迭代编译版本长时间复测,节省了大量的时间和人力,提高了调试效率。

【技术实现步骤摘要】

本专利技术涉及车辆测试,特别涉及一种车载终端内存泄漏处理方法、装置、设备及介质


技术介绍

1、在实车路试和量产初期,车载终端(tbox,telematics box)会频繁报出系统内存泄漏问题,此类问题需要在软件中添加内存泄露定位机制且需要长时间的抓取日志,长时间打开内存调试机制会消耗系统内存和cpu(central processing unit,中央处理器)资源,影响tbox的系统性能。

2、基于系统性能的考虑,后期量产发布的软件版本,会裁减掉内存部分的调试工具。如果tbox出现内存泄漏问题,往往需要根据初步分析结果有针对性地添加调试机制,重新迭代编译版本长时间复测,这样会耗费大量的时间和人力,影响调试效率和项目进度,如果是应用进程引起内核态内存泄漏的场景,往往需要和客户联合排查,采用关闭应用进程的反向排查思路,不断编译版本验证,调试效率低下。为此,上述问题亟待本领域技术人员解决。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种车载终端内存泄漏处理方法、装置、设备及介质,能够避免长时间打开内核态内存调试节点,无需和客户联合排查,也无需重新迭代编译版本长时间复测,节省了大量的时间和人力,提高了调试效率,其具体方案如下:

2、第一方面,本申请公开了一种车载终端内存泄漏处理方法,包括:

3、在车载终端系统运行的过程中,若检测到所述车载终端系统存在内核态内存泄露,则判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件;

4、若满足所述预设泄漏条件,则打开内核态内存调试节点,并重启所述车载终端系统,然后通过埋入内核态内存申请调用栈中的探针抓取进程信息;

5、根据所述进程信息追踪异常应用进程,并将所述进程信息打印在内核态的页申请的日志中,关闭所述内核态内存调试节点并重启所述车载终端系统。

6、可选的,所述判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件,包括:

7、判断车辆上电时间与当前时间的时间差值是否小于预设时间差值,并判断初始可用内存与当前可用内存的内存差值是否大于预设内存阈值;

8、若所述车辆上电时间与所述当前时间的时间差值小于所述预设时间差值,并且所述初始可用内存与所述当前可用内存的内存差值大于所述预设内存阈值,则判定内存泄漏速率和内存泄漏量满足所述预设泄漏条件。

9、可选的,所述判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件之后,还包括:

10、若内存泄漏速率和内存泄漏量不满足所述预设泄漏条件,则禁止打开所述内核态内存调试节点,并通过定时重启操作重启所述车载终端系统。

11、可选的,所述打开内核态内存调试节点,包括:

12、确定启动加载程序,并确定与内核态对应的内存调试命令,然后基于所述内存调试命令修改启动命令序列变量,以打开所述内核态内存调试节点。

13、可选的,所述内核态内存申请调用栈包括与网络数据有关的调用栈、与串口数据有关的调用栈以及与全球定位系统数据有关的调用栈。

14、可选的,在车载终端系统运行的过程中,还包括:

15、通过图形界面显示各个应用进程的内存使用情况以及各个所述应用进程对内核态内存的影响,并按照预设间隔对所述图形界面的显示内容进行更新。

16、可选的,所述进程信息包括进程序列号以及进程名称。

17、第二方面,本申请公开了一种车载终端内存泄漏处理装置,包括:

18、泄漏判断模块,用于在车载终端系统运行的过程中,若检测到所述车载终端系统存在内核态内存泄露,则判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件;

19、进程信息抓取模块,用于若满足所述预设泄漏条件,则打开内核态内存调试节点,并重启所述车载终端系统,然后通过埋入内核态内存申请调用栈中的探针抓取进程信息;

20、异常进程定位模块,用于根据所述进程信息追踪异常应用进程,并将所述进程信息打印在内核态的页申请的日志中,关闭所述内核态内存调试节点并重启所述车载终端系统。

21、第三方面,本申请公开了一种电子设备,包括:

22、存储器,用于保存计算机程序;

23、处理器,用于执行所述计算机程序,以实现前述公开的车载终端内存泄漏处理方法。

24、第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的车载终端内存泄漏处理方法。

25、可见,本申请提出一种车载终端内存泄漏处理方法,包括:在车载终端系统运行的过程中,若检测到所述车载终端系统存在内核态内存泄露,则判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件;若满足所述预设泄漏条件,则打开内核态内存调试节点,并重启所述车载终端系统,然后通过埋入内核态内存申请调用栈中的探针抓取进程信息;根据所述进程信息追踪异常应用进程,并将所述进程信息打印在内核态的页申请的日志中,关闭所述内核态内存调试节点并重启车载终端系统。可见,本申请在检测到车载终端系统存在内核态内存泄露,并且内存泄漏速率和内存泄漏量满足预设泄漏条件时,才会打开内核态内存调试节点,避免长时间打开内核态内存调试节点会消耗系统内存和cpu资源,从而避免影响车载终端的系统性能。进一步的,本申请通过埋入内核态内存申请调用栈中的探针抓取进程信息,并根据所述进程信息直接追踪异常应用进程,如此一来,无需和客户联合排查,也无需重新迭代编译版本长时间复测,节省了大量的时间和人力,提高了调试效率。

本文档来自技高网...

【技术保护点】

1.一种车载终端内存泄漏处理方法,其特征在于,包括:

2.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,所述判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件,包括:

3.根据权利要求2所述的车载终端内存泄漏处理方法,其特征在于,所述判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件之后,还包括:

4.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,所述打开内核态内存调试节点,包括:

5.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,所述内核态内存申请调用栈包括与网络数据有关的调用栈、与串口数据有关的调用栈以及与全球定位系统数据有关的调用栈。

6.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,在车载终端系统运行的过程中,还包括:

7.根据权利要求1至6任一项所述的车载终端内存泄漏处理方法,其特征在于,所述进程信息包括进程序列号以及进程名称。

8.一种车载终端内存泄漏处理装置,其特征在于,包括:

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

10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的车载终端内存泄漏处理方法。

...

【技术特征摘要】

1.一种车载终端内存泄漏处理方法,其特征在于,包括:

2.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,所述判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件,包括:

3.根据权利要求2所述的车载终端内存泄漏处理方法,其特征在于,所述判断内存泄漏速率和内存泄漏量是否满足预设泄漏条件之后,还包括:

4.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,所述打开内核态内存调试节点,包括:

5.根据权利要求1所述的车载终端内存泄漏处理方法,其特征在于,所述内核态内存申请调用栈包括与网络数据有关的调用栈、与串口...

【专利技术属性】
技术研发人员:刘昭明
申请(专利权)人:深圳市广通远驰软件有限公司
类型:发明
国别省市:

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

1