日志信息获取方法及电子设备与流程

文档序号:36242129发布日期:2023-12-02 04:56阅读:38来源:国知局
日志信息获取方法及电子设备与流程

本技术涉及电子,尤其涉及一种日志信息获取方法及电子设备。


背景技术:

1、手机发生异常时,可能会出现开机启动失败,即无法开机的情况。

2、相关技术中手机在开机启动失败的情况下,通常需要对手机拆机并焊接串口,然后通过该串口析打印手机的日志信息进行分。在实际情况中,部分用户不愿意拆机,就无法焊接串口,也就无法获取到日志信息分析开机启动失败的原因。并且,通过拆机和焊接串口的方式获取手机的日志信息,实现较为复杂。


技术实现思路

1、本技术实施例提供一种日志信息获取方法及电子设备,用于解决手机启动异常时,获取用于日志信息的方法较复杂的问题。

2、为达到上述目的,本技术的实施例采用如下技术方案:

3、第一方面,提供了一种日志信息获取方法,该方法应用于第一电子设备,第一电子设备与第二电子设备有线连接。该方法包括:

4、第一电子设备开机启动,并在开机启动过程中生成并存储启动日志。第一电子设备在开机启动失败后,可以进入fastboot模式。在fastboot模式下,第一电子设备可以响应于第二电子设备发送的命令,执行相应操作。然后,第一电子设备可以通过有线连接接收来自第二电子设备的日志获取命令。该日志获取命令用于指示第一电子设备获取第一电子设备中的启动日志。之后,响应于日志获取命令,第一电子设备调用预设函数获取存储启动日志的预设数据块的指针地址;其中,指针地址的结构体用于指示预设数据块中的启动日志的存储地址。最后,第一电子设备通过有线连接,向第二电子设备传输指针地址所指示的存储地址中保存的启动日志。

5、在该方案中,只需要第二电子设备通过连接向第一电子设备发送命令,即可从开机启动异常(即关机状态)的第一电子设备中获取到启动日志。不需要对第一电子设备进行拆机和焊接串口,简化了获取关机状态下第一电子设备中启动日志的流程。同时,不需要拆机即可获取启动日志也可以满足更多用户不希望拆机的诉求,可以帮助提升用户体验。

6、在一些可能的实施方式中,上述第一电子设备响应于日志获取命令,调用预设函数获取存储启动日志的预设数据块的指针地址,具体可以包括:第一电子设备的启动引导程序响应于日志获取命令,调用预设函数获取预设数据块的指针地址。

7、在一些可能的实施方式中,上述第一电子设备的启动引导程序响应于日志获取命令,调用预设函数获取预设数据块的指针地址,具体可以包括:第一电子设备的启动引导程序响应于日志获取命令,调用rainbowlib库中的第一函数,获取预设数据块的指针地址;其中,预设函数包括rainbowlib库中的第一函数。

8、在一些可能的实施方式中,上述第一电子设备的启动引导程序响应于日志获取命令,调用rainbowlib库中的第一函数,获取预设数据块的指针地址,具体可以包括:第一电子设备的启动引导程序响应于日志获取命令,调用fastbootlib库中的第二函数,由第二函数通过rainbowlib库中的第一函数,获取预设数据块的指针地址。

9、在一些可能的实施方式中,上述指针地址的结构体用于指示预设数据块中的启动日志的存储地址,具体可以包括:指针地址的结构体中存放有长度信息和起始地址信息;其中,长度信息用于指示启动日志的长度,起始地址信息用于指示存储启动日志的起始地址。这样,根据指针地址的结构体中存放的长度信息和起始地址信息,第一电子设备可以确定启动日志具体的存储位置以及存储的长度。从而便于第一电子设备根据长度信息和起始地址信息,准确的获取到启动日志。

10、在一些可能的实施方式中,上述第一电子设备通过有线连接,向第二电子设备传输指针地址所指示的存储地址中保存的启动日志,具体可以包括:第一电子设备调用rainbowlib库中的第三函数,获取指针地址的结构体中存放的长度信息和起始地址信息所指示的存储地址中保存的启动日志,并通过有线连接向第二电子设备传输启动日志。

11、在一些可能的实施方式中,上述第一电子设备开机启动,并在开机启动过程中生成并存储启动日志,具体可以包括:第一电子设备响应于开机操作,进入开机启动过程的第一阶段,生成第一阶段对应的启动日志,并将第一阶段对应的启动日志存储在预设数据块。第一阶段包括统一可扩展固件接口uefi阶段。在存储启动日志之后,为了便于查找启动日志的存储位置,第一电子设备还生成并保存预设数据块的指针地址。之后,第一电子设备在第一阶段启动成功之后,进入开机启动过程的第二阶段,并且基于越区切换数据块hob将预设数据块,以及预设数据块的指针地址从第一阶段传递到第二阶段。这样,第一电子设备在第二阶段的启动过程中,生成第二阶段对应的启动日志也可以存储在预设数据块中,第一电子设备基于第二阶段对应的启动日志可以更新预设数据块的指针地址。从而能够使第一电子设备在第二阶段启动失败之后,在进入fastboot模式的情况下,允许第一电子设备获取指针地址所指示的存储地址中保存的启动日志;第二阶段包括应用启动引导程序abl阶段。之后,第一电子设备在第二阶段的启动过程中,生成第二阶段对应的启动日志。

12、在该方案中,在第一电子设备的开机启动的程序闭源的情况下,第一电子设备也能够查找到预设数据块的指针地址所指示的存储地址。该预设数据块中不仅存储了第一电子设备在第二阶段生成的启动日志,还存储了第一电子设备在第二阶段以前的启动阶段(包括第一阶段)生成的启动日志。并且第一电子设备如果在第二阶段启动失败,可以根据预设数据块的指针地址,从预设数据块中获取到第一电子设备在abl阶段以前的启动阶段生成的启动日志。进而在第一电子设备开机启动失败的情况下,可以根据启动日志的存储地址获取到启动日志并输出。这样,无需对第一电子设备拆机并焊接串口,也可以获取到启动日志,用于辅助分析第一电子设备开机启动失败的原因。

13、在一些可能的实施方式中,在进入fastboot模式之后,在第一电子设备通过有线连接接收来自第二电子设备的日志获取命令之前,该方法还包括:第一电子设备在检测到解锁事件时,解锁预设功能。其中,预设功能包括:第一电子设备允许接收其他电子设备发送的预设命令,并控制第一电子设备执行与预设命令对应的操作,预设命令包括日志获取命令。该方案中,如果第一电子设备锁定了预设功能,则在第一电子设备进入fastboot模式之后,需对预设功能进行解锁,之后才可以响应于第二电子设备发送的命令获取并输出启动日志。

14、第二方面,提供了一种电子设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该电子设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该电子设备执行如上述第一方面中任一项所述的日志信息获取方法。

15、第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的日志信息获取方法。

16、第四方面,提供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备可以执行上述第一方面中任一项所述的日志信息获取方法。

17、第五方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。

18、其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1