[发明专利]硬件抽象层调试方法和装置有效
申请号: | 201610597474.8 | 申请日: | 2016-07-26 |
公开(公告)号: | CN107656861B | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 李星;孟小甫;高翔 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨文娟;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 抽象 调试 方法 装置 | ||
本发明提供一种硬件抽象层调试方法和装置,其中,该方法包括:获取HAL的资源信息,该资源信息包括至少一个结构体变量,每个结构体变量包括至少一个字段,对该资源信息中的每个结构体变量进行分析,确定出每个结构体变量中的至少一个目标字段,该目标字段是在进程生命周期内不会发生变化的不变字段,判断每个目标字段的实际值与该目标字段的初始值是否一致,在目标字段的实际值与初始值不一致时,打印出目标字段对应的日志信息以用于定位该资源信息中的出错位置。本发明的技术方案,不仅获取到HAL信息全面,而且节省了开发人员调试分析Android系统中内核与HAL兼容性问题的时间,HAL的调试效率高。
技术领域
本发明涉及操作系统技术领域,尤其涉及一种硬件抽象层调试方法和装置。
背景技术
硬件抽象层(Hardware Abstraction Layer,简称,HAL)是位于内核和安卓(Android)系统之间的接口层,它隐藏了硬件平台的细节,为Android系统提供虚拟的硬件平台,Android系统可通过HAL提供的接口与内核进行交互。但是,内核与HAL之间存在兼容性问题,Android系统在使用HAL数据的过程中,可能出现资源出错的问题,而若Android系统对错误的资源进行操作,则会致使Android系统不稳定,因此,如何调试HAL以提高Android系统稳定性是亟待解决的问题。
目前,现有HAL调试方法主要利用Android系统提供的日志输出工具,对日志输出工具输出的日志进行分析来实现。具体的,通过分析日志输出工具输出的日志来获取异常传输资源在日志中的位置信息,通过在该位置信息处添加打印信息,以打印出异常传输资源对应的日志信息,以使开发人员根据打印出的日志信息分析Android系统中内核与HAL的兼容性问题,进而确定出HAL可能存在的问题。
然而,上述通过分析日志输出工具输出日志的HAL调试方法,只能确定传输资源的可能出错位置,无法定位传输资源的内部错误,致使该方法获取到的HAL信息不全面,调试效率低。
发明内容
本发明提供一种硬件抽象层调试方法和装置,用于解决现有HAL调试方法因获取到的HAL信息不全面导致调试效率低的问题。
第一方面,本发明提供一种硬件抽象层调试方法,包括:
获取HAL的资源信息,所述资源信息包括至少一个结构体变量,每个结构体变量包括至少一个字段;
对所述资源信息中的每个结构体变量进行分析,确定出每个结构体变量中的至少一个目标字段,所述目标字段是在进程生命周期内不会发生变化的不变字段;
判断每个所述目标字段的实际值与所述目标字段的初始值是否一致;
在所述目标字段的实际值与所述目标字段的初始值不一致时,打印出所述目标字段对应的日志信息,所述日志信息用于定位所述资源信息中的出错位置。
可选的,在本发明的一实施例中,所述方法还包括:
根据结构体变量中不变字段以及每个不变字段的初始值,建立映射关系。
可选的,在本发明的另一实施例中,所述对所述资源信息中的每个结构体变量进行分析,确定出每个结构体变量中的至少一个目标字段,具体包括:
对于每个结构体变量,获取所述结构体变量包括的至少一个字段;
依次判断所述结构体变量中的每个字段是否与所述映射关系中的不变字段相对应;
在所述结构体变量中的字段与所述映射关系中的不变字段相对应时,确定所述字段为所述结构体变量的目标字段。
可选的,在本发明的再一实施例中,所述判断每个所述目标字段的实际值与所述目标字段的初始值是否一致,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610597474.8/2.html,转载请声明来源钻瓜专利网。