一种利于分析开机错误的方法技术

技术编号:17654793 阅读:20 留言:0更新日期:2018-04-08 08:14
本发明专利技术涉及一种利于分析开机错误的方法,包括如下步骤:S1、获取上电开机相关模块的信息,获取开机过程中的关键节点列表;S2、对每一个关键节点进行编码;S3、识别并运行开机指令;S4、执行开机指令,在每运行一个关键节点后记录节点编号;所述节点编号包括当前关键节点编码以及下一个关键节点编码。本发明专利技术所起到的有益效果包括:1、对上电开机过程影响小,出现问题能确定出现模块。2、有历史记录,能分析问题出现的频率,和出现问题的模块。3、对出现概率极低的问题,能有效的获取信息,减少重现的困难。4、依据出现问题模块路径,能快速判断产生问题的可能条件和原因,这极大缩小问题出现范围、条件、加速分析分析速度。

【技术实现步骤摘要】
一种利于分析开机错误的方法
本专利技术涉及软件设计领域,特别涉及一种利于分析开机错误的方法。
技术介绍
嵌入式软件系统越来越复杂,对于汽车电子来说,上电开机过程尤其复杂,一方面这是由于整车每个零件开始启动,往往会引起供电电压的不稳;另一方面系统内部既要初始化,有要系统内外部进行信息交换。因此上电开机往往是容易出问题的地方。现有技术中常用的方法通过运行trace宏的方式,通过分析trace来找线索。但是正是发布的软件一般要求将trace宏忽略,上电开机时通常不运行,如果同时打开trace宏会增加系统负载,降低系统性能,客户很难接受。另外,通常打开trace宏会是系统运行过程以及环境改变,与最终运行的软件不一样。当正常运行时出现的问题,打开trace宏后有可能会出现无法重现问题,而不使用trace宏则会产生无法获取需要的分析信息的问题。
技术实现思路
本专利技术为了解决上述技术问题,提供一种利于分析开机错误的方法。一种利于分析开机错误的方法,包括如下步骤:S1、获取上电开机相关模块的信息,获取开机过程中的关键节点列表;S2、对每一个关键节点进行编码;S3、识别并运行开机指令;S4、执行开机指令,在每运行一个关键节点后记录节点编号;所述节点编号包括当前关键节点编码以及下一个关键节点编码。进一步的,还包括节点编号的存储步骤:S51、建立节点编号储存区;S52、将所述节点编号储存区进行分块处理;S53、在其中一个储存块内记录一次开机过程产生的节点编码。所述步骤S52包括如下子步骤:S521、获取当前开机过程中产生节点编号的总占用空间大小,判断储存块是否能够记录本次开机过程中所产生的全部节点编号;S522、若不能容纳,则将每个分块的大小调整至与当节点编号大小适应。优选的,当所有所述储存块被全部写满时,则覆盖编码储存区中记录时间最早的储存块。优选的对开机指令增加识别码,还包括开机识别步骤:S61、接收并解析开机指令的识别码;S62、当接收到的识别码与上一次接收到的识别码不相同时,重新执行步骤S4。其中,所述识别码为时间戳、特定循环码或者不重复的随机数中的其中一种。进一步的,所述步骤S4包括如下子步骤:S41、完成该节点的执行,根据所述关键节点列表判定给节点是否是关键节点;S42、若是关键节点则记录当前关键节点编码,并查询所述关键节点列表,找出下一个运行的关键节点编码;S43、将当前关键节点编码以及下一个运行的关键节点编码进行组合,得到节点编号;S44、输出节点编号。进一步的,当关键节点执行失败时返回执行失败信号并终止执行开机指令。本专利技术的利于分析开机错误的方法所起到的有益效果包括:1、对上电开机过程影响小,出现问题能确定出现模块。2、有历史记录,能分析问题出现的频率,和出现问题的模块。3、对出现概率极低的问题,能有效的获取信息,减少重现的困难。4、依据出现问题模块路径,能快速判断产生问题的可能条件和原因,这极大缩小问题出现范围、条件、加速分析分析速度。附图说明图1为本专利技术实施例1中的方法原理图。图2为本专利技术实施例1中的节点编号的存储方法原理图。图3为本专利技术实施例2中的节点编号生成的方法原理图。具体实施方式下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征更易被本领域技术人员理解,从而对本专利技术的保护范围作出更为清楚的界定。实施例1:一种利于分析开机错误的方法,主要但不包括用于汽车电子的正式版本中,作用是在不改变系统的运行状态下提供快捷的错误信息。避免了现有技术中增加trace宏导致系统变慢以及系统环境改变而无法复现错误的问题。如图1所示,具体本方法具体包括如下步骤:S1、获取上电开机相关模块的信息,获取开机过程中的关键节点列表。其中开机相关模块可以通过获取开机计划列表来得到,在开机过程中系统根据计划列表自动执行相关程序,在执行地系统运行其至关重要或者影响系统稳定的程序时,称该时刻为进程的关键节点。然后对该处关键节点进行标记,最后将所有的关键节点形成列表,从而获得关键节点列表。关键节点列表中的关键节点是根据上电开机时进程执行的顺序排列的,这样有利于获得更加准确的信息。S2、为了区分每个关键节点,需要对每一个关键节点进行编码。具体是在构建一个序列,并且将关键节点与该序列建立映射关系。形成编码序列,在系统执行到该节点是,系统根据节点映射的序列,并输出序列作为节点编码。S3、上电后,识别并运行开机指令。通常情况下开机指令会在上电后自动发出。也可以在人为的在任何时候发送开机指令,从而终止当前开机行为,重新执行开机动作。S4、执行开机指令,在开机过程中,每完成一个关键节点的运行,即记录节点编号,其中,该节点编号的信息至少包括了当前关键节点编码以及下一个运行关键节点编码。另外,节点编号的存储方面,如图2所示,还包括如下子步骤:S51、首先在闪存模块中建立节点编号储存区,节点编号储存区的大小可以根据需要进行调整。S52、划分出节点编号储存区后,将所述节点编号储存区进行分块处理。分块的方式是均等分块,并且分块得总数量可以是固定的。S53、在储存节点编号时,以开机次数进行归类,同一次上电开机则填写一个储存块。填写方式是实时的,即在开机过程中每产生一个节点编号都实时写入块中。为了使储存块的大小能够记录每次开机过程中的节点编号,其储存块的大小是动态变更的,其大侠控制动作包括如下子步骤:S521、获取当前开机过程中产生节点编号的总占用空间大小,将储存块的大小与本次开机占用空间的大小相比谁大,从而判断是否能够记录本次开机过程中所产生的全部节点编号;S522、若不能容纳,则将每个分块的大小调整至与当节点编号大小适应。当占用的空间达到或者即将达到储存块的容量上限时,则判定储存块大小不能写入所有节点编号,此时系统将对储存块的容量上限进行调整。而调整对象是所有的储存块,通常储存块容量不足通常是由于系统新增了关键节点,一次修改所有的储存块大小避免以后每次开机都需要对单独一个储存块进行调整。优选的,当所有所述储存块被全部写满时,则覆盖编码储存区中记录时间最早的储存块。实施例2:作为实施例2的优化,本实施例与实施例1的区别在于:如图3所示,本实施例同时还对实施例1中的步骤S4进行具体补充,包括如下子步骤:S41、确定是否对完全执行该节点,当完成该节点的执行时,读取关键节点列表,并根据所述关键节点列表判定给节点是否是关键节点。S42、若当前执行完毕的是关键节点,则根据映射关系记录当前关键节点编码,同时并查询关键节点列表,找出下一个即将运行的关键节点编码。S43、将当前关键节点编码以及下一个运行的关键节点编码进行组合,得到节点编号。S44、输出节点编号。如果开机过程中出现错误导致关键节点执行失败,则返回执行失败信号并终止执行开机指令。从而完成本次开机的记录,储存块中的最后一次节点编号即使出现错误的节点。研发或者维修人员即可以快捷有效地知道出错的节点,从而依据出现问题模块路径,能快速判断产生问题的可能条件和原因,这极大缩小问题出现范围、条件、加速分析分析速度。另外,对重复开机以及非正常开机的操作进行优化,首先需要对开机指令增加识别码,优选的,识别码为时间戳、特定循环码或者不重复的随机数中的其中一种。具体开机识别步骤包括如下:S61、接收并解析开本文档来自技高网...
一种利于分析开机错误的方法

【技术保护点】
一种利于分析开机错误的方法,其特征在于:包括如下步骤:S1、获取上电开机相关模块的信息,获取开机过程中的关键节点列表;S2、对每一个关键节点进行编码;S3、识别并运行开机指令;S4、执行开机指令,在每运行一个关键节点后记录节点编号;所述节点编号包括当前关键节点编码以及下一个关键节点编码。

【技术特征摘要】
1.一种利于分析开机错误的方法,其特征在于:包括如下步骤:S1、获取上电开机相关模块的信息,获取开机过程中的关键节点列表;S2、对每一个关键节点进行编码;S3、识别并运行开机指令;S4、执行开机指令,在每运行一个关键节点后记录节点编号;所述节点编号包括当前关键节点编码以及下一个关键节点编码。2.根据权利要求1所述的利于分析开机错误的方法,其特征在于,还包括节点编号的存储步骤:S51、建立节点编号储存区;S52、将所述节点编号储存区进行分块处理;S53、在其中一个储存块内记录一次开机过程产生的节点编码。3.根据权利要求2所述的利于分析开机错误的方法,其特征在于,所述步骤S52包括如下子步骤:S521、获取当前开机过程中产生节点编号的总占用空间大小,判断储存块是否能够记录本次开机过程中所产生的全部节点编号;S522、若不能容纳,则将每个分块的大小调整至与当节点编号大小适应。4.根据权利要求3所述的利于分析开机错误的方法,其特征在于,当所有所述储存块被全部写满时...

【专利技术属性】
技术研发人员:方加强
申请(专利权)人:惠州市德赛西威汽车电子股份有限公司
类型:发明
国别省市:广东,44

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

1