System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种调试方法、装置、电子设备及可读存储介质制造方法及图纸_技高网

一种调试方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:43376671 阅读:3 留言:0更新日期:2024-11-19 17:55
本发明专利技术实施例提供一种调试方法、装置、电子设备及可读存储介质,该方法包括:在模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存;在所述模拟器运行出错的情况下,将与所述模拟器的错误现场相匹配的历史快照保存至存储模块;从所述存储模块中获取所述历史快照,并将所述历史快照加载至所述模拟器中,以对所述模拟器进行调试与修复。本发明专利技术实施例可以在模拟器运行出错的情况下,将与模拟器的错误现场相匹配的历史快照存储至存储模块中进行持久化保存,后续在对模拟器进行调试时,可以直接从存储模块中获取历史快照,并将历史快照加载到模拟器中,以便模拟器快速的运行到错误现场,有利于提升模拟器的调试效率。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种调试方法、装置、电子设备及可读存储介质


技术介绍

1、在处理器设计过程中,可以采用模拟器模拟处理器行为,通过对模拟器进行验证,实现对处理器设计逻辑的验证与检测。如果模拟器运行出错,需要根据模拟器的报错信息对模拟器进行调试,修改待测设计的设计逻辑或行为,调试之后继续后续的验证过程。在相关技术中,通常是从头开始重新运行模拟器,直至运行至上一次报错点,验证错误问题是否已经解决。然而,模拟器将测试程序运行至报错点需要时间,随着错误发现时间的增加,模拟器运行至报错点的时间也随之增加,这就导致模拟器的调试开销不断增加,且整个调试过程中存在大量重复运行导致的开销。


技术实现思路

1、本专利技术实施例提供一种调试方法、装置、电子设备及可读存储介质,可以解决相关技术中模拟器的调试开销大的问题。

2、为了解决上述问题,本专利技术实施例公开了一种调试方法,应用于模拟器,所述模拟器用于模拟处理器行为;所述方法包括:

3、在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存;

4、在所述模拟器运行出错的情况下,将与所述模拟器的错误现场相匹配的历史快照保存至存储模块;

5、从所述存储模块中获取所述历史快照,并将所述历史快照加载至所述模拟器中,以对所述模拟器进行调试与修复。

6、可选地,所述在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存,包括:

7、在所述模拟器运行至预设快照点的情况下,通过系统调用创建一个备份进程;所述备份进程复制所述模拟器中目标变量值;

8、将所述目标变量值记录到快照文件中,得到所述模拟器的历史快照。

9、可选地,在所述模拟器运行出错的情况下,将与所述模拟器的错误现场相匹配的历史快照保存至存储模块,包括:

10、在所述模拟器运行出错的情况下,切换距离错误现场最近的第一备份进程;

11、获取所述第一备份进程对应的第一快照文件;所述第一快照文件用于记录所述第一备份进程的目标变量值;

12、将所述第一快照文件保存至存储模块。

13、可选地,所述方法还包括:

14、同步运行所述模拟器和所述模拟器对应的参考模型;所述参考模型用于实现与所述模拟器相同的功能;

15、获取所述模拟器的第一运行状态值和所述参考模型的第二运行状态值;

16、将所述第一运行状态值与所述第二运行状态值进行比对;

17、在所述第一运行状态值与所述第二运行状态值不匹配的情况下,确定所述模拟器运行出错。

18、可选地,所述从所述存储模块中获取所述历史快照,并将所述历史快照加载至所述模拟器中,包括:

19、从所述存储模块中获取所述历史快照;

20、将所述模拟器的第一运行状态值修改为所述历史快照中记录的历史状态值;

21、将所述参考模型的第二运行状态值修改为所述历史快照中记录的历史状态值。

22、可选地,所述在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存,包括:

23、设置一个计数器;所述计数器用于统计所述模拟器执行的指令数,所述计数器的初始值为预设值;

24、在所述模拟器每执行完一条指令之后,将所述计数器的计数值加n,n>0;

25、若所述计数器的计数值大于或等于第一预设值,则对所述模拟器的运行状态进行快照保存,并将所述计数器的计数值恢复为所述初始值;

26、继续运行所述模拟器,并根据所述模拟器的指令执行情况更新所述计数器,直至满足终止条件时停止所述模拟器和所述计数器的运行。

27、另一方面,本专利技术实施例公开了一种调试装置,应用于模拟器,所述模拟器用于模拟处理器行为;所述装置包括:

28、快照模块,用于在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存;

29、保存模块,用于在所述模拟器运行出错的情况下,将与所述模拟器的错误现场相匹配的历史快照保存至存储模块;

30、加载模块,用于从所述存储模块中获取所述历史快照,并将所述历史快照加载至所述模拟器中,以对所述模拟器进行调试与修复。

31、可选地,所述快照模块,包括:

32、创建子模块,用于在所述模拟器运行至预设快照点的情况下,通过系统调用创建一个备份进程;所述备份进程复制所述模拟器中目标变量值;

33、记录子模块,用于将所述目标变量值记录到快照文件中,得到所述模拟器的历史快照。

34、可选地,所述保存模块,包括:

35、切换子模块,用于在所述模拟器运行出错的情况下,切换距离错误现场最近的第一备份进程;

36、获取子模块,用于获取所述第一备份进程对应的第一快照文件;所述第一快照文件用于记录所述第一备份进程的目标变量值;

37、保存子模块,用于将所述第一快照文件保存至存储模块。

38、可选地,所述装置还包括:

39、控制模块,用于同步运行所述模拟器和所述模拟器对应的参考模型;所述参考模型用于实现与所述模拟器相同的功能;

40、状态获取模块,用于获取所述模拟器的第一运行状态值和所述参考模型的第二运行状态值;

41、比对模块,用于将所述第一运行状态值与所述第二运行状态值进行比对;

42、确定模块,用于在所述第一运行状态值与所述第二运行状态值不匹配的情况下,确定所述模拟器运行出错。

43、可选地,所述加载模块,包括:

44、快照获取子模块,用于从所述存储模块中获取所述历史快照;

45、第一修改子模块,用于将所述模拟器的第一运行状态值修改为所述历史快照中记录的历史状态值;

46、第二修改子模块,用于将所述参考模型的第二运行状态值修改为所述历史快照中记录的历史状态值。

47、可选地,所述快照模块,包括:

48、设置子模块,用于设置一个计数器;所述计数器用于统计所述模拟器执行的指令数,所述计数器的初始值为预设值;

49、计数子模块,用于在所述模拟器每执行完一条指令之后,将所述计数器的计数值加n,n>0;

50、快照子模块,用于若所述计数器的计数值大于或等于第一预设值,则对所述模拟器的运行状态进行快照保存,并将所述计数器的计数值恢复为所述初始值;

51、更新子模块,用于继续运行所述模拟器,并根据所述模拟器的指令执行情况更新所述计数器,直至满足终止条件时停止所述模拟器和所述计数器的运行。

52、再一方面,本专利技术实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的调试方法。...

【技术保护点】

1.一种调试方法,其特征在于,应用于模拟器,所述模拟器用于模拟处理器行为;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存,包括:

3.根据权利要求2所述的方法,其特征在于,在所述模拟器运行出错的情况下,将与所述模拟器的错误现场相匹配的历史快照保存至存储模块,包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述从所述存储模块中获取所述历史快照,并将所述历史快照加载至所述模拟器中,包括:

6.根据权利要求1所述的方法,其特征在于,所述在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存,包括:

7.一种调试装置,其特征在于,应用于模拟器,所述模拟器用于模拟处理器行为;所述装置包括:

8.根据权利要求7所述的装置,其特征在于,所述快照模块,包括:

9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至6中任一项所述的调试方法。

10.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至6中任一项所述的调试方法。

...

【技术特征摘要】

1.一种调试方法,其特征在于,应用于模拟器,所述模拟器用于模拟处理器行为;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述在所述模拟器运行过程中按照预设规则对所述模拟器的运行状态进行快照保存,包括:

3.根据权利要求2所述的方法,其特征在于,在所述模拟器运行出错的情况下,将与所述模拟器的错误现场相匹配的历史快照保存至存储模块,包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述从所述存储模块中获取所述历史快照,并将所述历史快照加载至所述模拟器中,包括:

6.根据权利要求1所述的方法,其特征在于,所述在所述模拟器运行过程中...

【专利技术属性】
技术研发人员:石侃张宇鑫徐烁翔包云岗
申请(专利权)人:北京开源芯片研究院
类型:发明
国别省市:

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

1