CN102567126A - 一种硬件现场复现的方法及装置 - Google Patents

一种硬件现场复现的方法及装置 Download PDF

Info

Publication number
CN102567126A
CN102567126A CN2010105840055A CN201010584005A CN102567126A CN 102567126 A CN102567126 A CN 102567126A CN 2010105840055 A CN2010105840055 A CN 2010105840055A CN 201010584005 A CN201010584005 A CN 201010584005A CN 102567126 A CN102567126 A CN 102567126A
Authority
CN
China
Prior art keywords
data
hardware
file
backup
physical address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105840055A
Other languages
English (en)
Other versions
CN102567126B (zh
Inventor
朱庆昌
王沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Telecom Technology Industry Holding Co., Ltd.
Original Assignee
Leadcore Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leadcore Technology Co Ltd filed Critical Leadcore Technology Co Ltd
Priority to CN 201010584005 priority Critical patent/CN102567126B/zh
Publication of CN102567126A publication Critical patent/CN102567126A/zh
Application granted granted Critical
Publication of CN102567126B publication Critical patent/CN102567126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种硬件现场复现的方法及装置,其方法为:在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件;获取并解析携带调试信息的可执行文件,得到芯片运行的程序数据信息;映射程序数据信息对应的实际物理地址;转化映射后的实际物理地址,建立其与数据备份文件之间的对应关系;依据对应关系从数据备份文件的备份中,读取实际物理地址对应的变量数据;获取备份于数据备份文件中的开发板或测试板上的内存数据和寄存器数据;显示变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。通过本发明采用软件分析获取复现所需数据的方式,可以提高硬件现场复现的速度并节约硬件资源。

Description

一种硬件现场复现的方法及装置
技术领域
本发明涉及软件技术领域,更具体的说,是涉及一种硬件现场复现的方法及装置。
背景技术
在科技高速发展的现代,各行各业所应用的各类电子设备中都离不开芯片的应用,芯片作为电子设备中的主要部分,承担着运算和存储的重要功能。但是,当芯片长时间运行特定程序时由于某种原因而进入了异常状态,为保证电子设备构成的硬件现场的正常运行,此时需要根据芯片数据现场分析发生异常的原因。
当出现上述情况时,需要对芯片运行时的数据进行保护(现场保护),以便以后随时恢复硬件现场,并进行异常状态的分析。在当今的芯片调试工具业界,对芯片数据进行保护以及分析所常用的方法是:通过调试软件对芯片以及开发板上的数据进行备份,等到分析出芯片发生异常状态的原因时,再将备份的数据恢复到芯片及开发板上,完成对芯片发生异常前的硬件现场的复现。
但是,采用现有技术的方式进行硬件现场复现时必须借助硬件环境,也就是说必须借助芯片以及开发板,将数据恢复到硬件环境中,采用现有技术不仅受制于硬件环境的运行速度,降低硬件现场复现的速度,而且在硬件资源有限的情况下,也会降低实现硬件现场复现的速度。
发明内容
有鉴于此,本发明提供了一种硬件现场复现的方法及装置,以克服现有技术借助芯片以及开发板等硬件环境实现硬件现场复现,所造成的降低硬件现场复现的速度的问题。
为实现上述目的,本发明提供如下技术方案:
一种硬件现场复现的方法,包括:
在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件;
获取携带调试信息的可执行文件,解析所述可执行文件,得到所述调试信息所对应的芯片运行的程序数据信息;
映射所述程序数据信息对应的实际物理地址;
转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系;
依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据;
获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据;
显示所述变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。
优选的,所述建立所述实际物理地址与所述数据备份文件之间的对应关系所采用的方式为:
转化映射后的所述实际物理地址为所述数据备份文件的文件指针。
优选的,所述获取携带调试信息的可执行文件之前还包括:
创建虚拟内存,模拟芯片、开发板或测试板上的硬件信息,将所述数据备份文件移动至所述虚拟内存中,所述数据备份文件中包括开发板或测试板上的内存数据与寄存器数据,以及芯片运行程序时的相关变量数据。
优选的,所述读取实际物理地址对应的变量数据、以及获取内存数据和寄存器数据之后,所述显示之前还包括:
通过通信媒介将所述变量数据、内存数据和寄存器数据发送至所述用户接口。
优选的,所述建立所述实际物理地址与所述数据备份文件之间的对应关系采用非文件指针的方式进行建立。
优选的,所述用户接口为图形界面接口。
优选的,所述携带调试信息的可执行文件为芯片未出现异常前运行的文件。
一种硬件现场复现的装置,包括:
检测单元,用于检测芯片是否出现异常;
备份单元,用于备份当前硬件现场中的数据信息,生成数据备份文件;
分析单元,用于分析携带调试信息的可执行文件;所述分析单元中包括:
获取模块,用于获取携带调试信息的可执行文件;
解析模块,用于解析所述可执行文件,获取所述可执行文件中携带的调试信息所对应的芯片运行的程序数据信息;
映射模块,用于映射所述程序数据信息对应的实际物理地址;
建立模块,用于转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系;
读取单元,用于依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据;
获取单元,用于获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据;
复现单元,用于显示所述真实数据于用户接口,复现硬件现场。
优选的,所述装置中还包括:
创建单元,用于创建虚拟内存;
移动单元,用于将所述数据备份文件移动至预设的所述虚拟内存中。
优选的,所述装置中的创建单元、移动单元、检测单元、备份单元、分析单元设置于服务端;所述装置中的读取单元、获取单元和复现单元设置于客户端;所述服务端与客户端通过通信媒介进行信息交互。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种硬件现场复现的方法及装置,其方法采用在芯片出现运行异常时,备份当前硬件现场中的数据信息,并生成相应的数据备份文件;然后,通过分析调试信息、映射等一系列操作,依据获取到的实际物理地址从数据备份文件中获取复现需要的数据信息,以及对于不需要分析调试信息的数据信息直接从数据备份文件中获取;最后,将获取到的相关数据信息发送于用户接口并显示,实现硬件现场的复现。通过本发明公开的方法,不需要仿真器,即不需要依托硬件将备份的数据恢复到芯片及开发板上,而采用软件分析获取复现所需数据的方式,可以提高硬件现场复现的速度并节约硬件资源,同时,在快速复现硬件现场之后也为技术人员提供了便利,进一步提高了技术人员分析芯片问题的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一公开的一种硬件现场复现的方法流程图;
图2为本发明实施例二公开的一种硬件现场复现的方法流程图;
图3为本发明实施例三公开的一种硬件现场复现的方法流程图;
图4为本发明实施例三公开的另一种硬件现场复现的方法流程图;
图5为本发明实施例公开的一种硬件现场复现的装置结构示意图;
图6为本发明实施例公开的另一种硬件现场复现的装置结构示意图;
图7为本发明实施例公开的另一种硬件现场复现的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在芯片在硬件环境中运行时出现问题,现有技术所采用的方式是借助芯片以及开发板、测试板将相关的数据恢复至硬件环境中,以便完成对硬件现场的复现,但是,采用现有技术进行硬件现场复现时,依托硬件容易受制于硬件环境的运行速度,以及基于有限的硬件资源会使复现硬件现场的速度受限。但是,本发明所公开的方法及系统涉及一种在完全没有芯片及开发板在内的硬件环境下,利用软件实现硬件现场的复现,提高了复现了速度,在本发明中主要是指基带SoC芯片(System on Chip,系统级芯片),具体的技术方案通过下面本发明公开的实施例进行详细的说明。
实施例一
请参阅附图1,为本发明公开一种硬件现场复现的方法,主要包括以下步骤:
步骤S101,在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件。
当芯片在运行的过程中出现问题时,此时芯片暂时运行或者停止运行(即时状态),但是芯片仍处于上电的状态,在暂停运行或者停止运行之前硬件现场中的相关数据还没有丢失。因此,备份当前硬件现场中的数据信息,该数据信息包括芯片本身的信息(寄存器中的信息)、芯片上运行的程序数据信息,以及开发板或测试板上的内存、寄存器中的相关数据信息。最后再利用备份的数据信息生成数据备份文件,即在该数据备份文件中保存上述的数据信息,并且这些数据信息为硬件现场复现所需的数据。
步骤S102,获取携带调试信息的可执行文件,解析所述可执行文件,得到所述调试信息所对应的芯片运行的程序数据信息。
步骤S103,映射所述程序数据信息对应的实际物理地址。
步骤S104,转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系。
步骤S105,依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据。
步骤S106,获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据。
步骤S107,显示所述变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。
在执行步骤S102至步骤S106时,分别获取到了实现复现硬件现场所需的相关数据,即变量数据、内存数据和寄存器数据。在上述这些数据的获取过程中,变量数据的获取的方法,需要经过调试信息分析才能得到,而内存数据与寄存器数据则不需要分析调试信息。因此,执行步骤S102至步骤S106主要分为分析调试信息和不必分析调试信息两种过程。
其中,分析调试信息的情况为:执行步骤S102至步骤S105,首先,通过分析携带调试信息的可执行文件获得芯片运行的程序数据信息,例如程序中特定符号、变量的相关数据信息,该相关数据信息中包含有数据信息的物理地址信息;然后,将上述获取的各个程序数据信息的实际物理地址进行映射,再进行转化,建立各个程序数据信息的实际物理地址与数据备份文件之间的关系;最后,通过建立的该种对应关系,获取数据备份文件中该实际物理地址对应的变量数据。
需要说明的是,分析调试信息即是通过对携带调试信息的可执行文件进行解析,此携带调试信息的可执行文件即是芯片发生异常前所运行的文件,通过对其进行解析获取芯片运行的程序数据信息。
此外,分析调试信息的过程是为了得到与芯片上运行程序数据信息相关的实际物理地址,例如某个变量或符号所在内存地址,采用分析调试信息的方式获取相关实际物理地址,是因为芯片上的寄存器(或内存)地址是预先可以根据芯片的用户手册说明得到的,是固定值,并且根据芯片的不同,寄存器(内存)数量、名称、物理地址值都会有所不同。
不需要分析调试信息的情况为:执行步骤S106,直接从数据备份文件中获取,即直接从数据备份文件获取开发板或测试板上的内存数据和寄存器数据。
需要说明的是,由于步骤S102至步骤S105为需要分析调试信息的情况,而步骤S106为不需要分析调试信息的情况,因此,上述步骤S106可以在执行完步骤S105之后执行,也可以在执行步骤S102之前执行,并不影响本发明实施例所公开的技术方案。
在通过上述依据两种不同情况获取与硬件现场复现的相关数据信息之后,执行步骤S107,将执行步骤S105和步骤S106获取到的变量数据、内存数据和寄存器数据发送至用户接口,并将其在用户接口显示,实现用软件复现硬件现场的目的。
需要说明的是,用户接口可分为三类:命令接口、程序接口和图形界面接口。在本发明所公开的该实施例中,用户接口最优的选择为图形界面接口。图形界面接口采用图形化的操作界面,例如窗口、图标、菜单和对话框等图形界面,通过易于识别的各种图形将系统各项功能、各种应用程序和文件,直观、逼真地表示出来,技术人员可通过鼠标、菜单和对话框来查看上述获取到的数据信息,即芯片本身的信息(包括芯片上的寄存器等)或者是开发板(测试板)相关信息,还可以是在芯片上运行的程序数据信息(例如程序的运行结果,运行过程中的信息,包括变量等,最后,通过这些在用户接口处显示的各类信息,实现复现硬件现场的目的,使技术人员可以通过复现的硬件现场对出现异常的芯片进行分析。
在上述本发明实施例公开的基础上,上述对实际物理地址进行映射的过程中可以采用多种现有的方式进行映射,例如利用查表的方式进行映射。另外,在映射实际物理地址之后,建立该实际物理地址与数据备份文件之间的对应关系所采用的方式,由于当前保存数据备份文件的位置不同而有所不同。
当数据备份文件保存于硬盘内存中时,此时建立该实际物理地址与数据备份文件之间的对应关系所采用的方式为:转化映射后的所述实际物理地址为所述数据备份文件的文件指针。然后,在执行上述步骤S105时,依据该文件指针读取数据备份文件中转化为文件指针的实际物理地址对应的变量数据,最后再执行步骤S107将该数据变量提交至用户接口,以便于技术人员查看。
通过上述本发明所公开的实施例,在完全没有芯片及开发板在内的硬件环境下,利用软件实现了硬件现场的复现,提高了复现了速度,节约硬件资源。同时,在快速复现硬件现场之后也为技术人员提供了便利,进一步提高了技术人员分析芯片问题的时间。
此外,根据数据备份文件保存的位置不同,本发明还公开的实施例二,对该种情况进行详细说明。
实施例二
在上述本发明公开的基础上,请参阅附图2,本发明实施例二所公开的一种硬件现场复现的方法,主要包括以下步骤:
步骤S201,在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件。
步骤S202,创建虚拟内存,模拟芯片、开发板或测试板上的硬件信息,将所述数据备份文件移动至所述虚拟内存中。
在执行步骤S201时备份生成的数据备份文件的过程与实施例一中步骤S101的执行过程一致,这里不再赘述。因此,在执行本实施例的步骤S202时,移动至所述虚拟内存中的数据备份文件中包括开发板或测试板上的内存数据与寄存器数据,以及芯片运行程序时的相关变量数据。
步骤S203,获取携带调试信息的可执行文件,解析所述可执行文件,得到所述调试信息所对应的芯片运行的程序数据信息。
步骤S204,映射所述程序数据信息对应的实际物理地址。
步骤S205,转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系。
步骤S206,依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据。
步骤S207,获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据。
步骤S208,显示所述变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。
在执行步骤S203至步骤S207时,分别获取到了实现复现硬件现场所需的相关数据,即变量数据、内存数据和寄存器数据,在获取上述这些数据的过程中。同样,如实施例一中所述存在经过分析调试信息和不必分析调试信息两种情况。在本发明所公开的实施例二中,步骤S203至步骤S206所执行的过程与实施例一中步骤S102至步骤S105的执行过程基本一致;步骤S207所执行的过程与步骤S106所执行的过程基本一致,这里不再赘述。
需要说明的是,在执行步骤S203至步骤S207时,同样从数据备份文件中获取各类数据,与实施例不同的是,本实施例中数据备份文件保存于虚拟内存中。因此,执行步骤S203至步骤S207时,涉及从数据备份文件中获取数据或信息时,实际上都是从虚拟内存中读取的。
此外,因为,数据备份文件保存于虚拟内存中,所以,在执行步骤S205时,建立所述实际物理地址与所述数据备份文件之间的对应关系采用的方式,可以采用现有的非转化文件指针的方式进行建立,在将实际物理地址进行映射,在读取数据备份文件中对应实际物理地址的变量数据时,采用的是查找虚拟内存区地址偏移量的方法。
通过上述本发明实施例所公开的方法,在备份好实现硬件现场复现的数据,生成相应的数据备份文件,再将该数据备份文件移动至计算机中预先创建的虚拟内存中,并利用该数据备份文件在虚拟内存区内模拟开发板上的数据分部状况和寄存器等状况,以及模拟芯片等硬件信息。在执行上述步骤S203至步骤S208时,直接从保存于该虚拟内存内的数据备份文件中获取所需要的数据或信息,在将其发送至用户接口处,实现利用软件复现硬件现场,而采用本发明直接从虚拟内存中获取所需的数据或信息,不需要读取硬盘,提高了数据查询的速度,使获取到的数据做到最优化,进一步提高了硬件现场复现的速度,并节约了硬件资源。同时,在快速复现硬件现场之后也为技术人员提供了便利,进一步提高了技术人员分析芯片问题的时间。
实施例三
在上述本发明实施例公开的基础上,本发明还公开了一种适用于当用户接口与数据分别处于不同计算机内时的一种硬件现场复现的方法。在本实施例三中,当用户接口与数据分别处于两台计算机时的硬件现场复现的方法,请参阅附图3,在上述实施例一的基础上本实施例的方法主要包括以下步骤:
步骤S101,在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件。
步骤S102,获取携带调试信息的可执行文件,解析所述可执行文件,得到所述调试信息所对应的芯片运行的程序数据信息。
步骤S103,映射所述程序数据信息对应的实际物理地址。
步骤S104,转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系。
步骤S105,依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据。
步骤S106,获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据。
步骤S108,通过通信媒介将所述变量数据、内存数据和寄存器数据发送至所述用户接口。
步骤S107,显示所述变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。
需要说明的是,上述步骤S101、S102、S103、S104、S105、S106和步骤S107与实施例一中的相同标号的步骤执行的内容基本相同这里不再赘述,本实施例与实施例一所不同的是,将在一台计算机中获取的硬件现场所需的数据通过通信媒介发送至另一台计算机的用户接口处,并在该用户接口处显示,实现硬件现场的复现。
请参阅附图4,在实施例二的基础上,本实施例的方法主要包括以下步骤:
步骤S201,在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件。
步骤S202,创建虚拟内存,模拟芯片、开发板或测试板上的硬件信息,将所述数据备份文件移动至所述虚拟内存中。
步骤S203,获取携带调试信息的可执行文件,解析所述可执行文件,得到所述调试信息所对应的芯片运行的程序数据信息。
步骤S204,映射所述程序数据信息对应的实际物理地址。
步骤S205,转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系。
步骤S206,依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据。
步骤S207,获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据。
步骤S209,通过通信媒介将所述变量数据、内存数据和寄存器数据发送至所述用户接口。
步骤S208,显示所述变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。
需要说明的是,上述步骤S201、S202、S203、S204、S205、S206、S207和步骤S208与实施例二中的相同标号的步骤执行的内容基本相同这里不再赘述,所不同的是,本实施例将在一台计算机中获取的变量数据、内存数据和寄存器数据通过通信媒介发送至另一台计算机的用户接口处,并在该用户接口处显示,实现硬件现场的复现。
此外,在上述本发明实施例三执行的步骤S108和步骤S209中,通过通信媒介将所述变量数据、内存数据和寄存器数据发送至所述用户接口,所述通信媒介可以是现有的特定物理通信媒介,例如USB线(Universal Serial BUS,通用串行总线),或者是现有的通信协议,例如TCP/TP网络协议。
在本发明实施例三中所公开的方法中,利用一台计算机模拟现有技术中的仿真器,将仿真器在内的所有硬件软件化了,然后,在通过另一台计算机进行查看、调试芯片。采用本发明实施例三所公开的方法,不仅实现了在完全没有硬件的情况下快速对硬件现场进行复现,真正实现了现场恢复无硬件化目的,而且,在本实施例三中,针对不同的芯片只需要将提供数据的计算机进行改动,即根据具体芯片的内存地址分配,相关寄存器地址变动等,进行具体的改动的,然后,再利用上述过程快速实现硬件现场的复现。
需要说明的是,在根据需要在用户接口上显示的计算机上也可以根据需要做相应的改动,然后,再实现硬件现场复现,进一步增加调试人员使用的灵活性和方便性。
上述本发明公开的实施例中详细描述了一种硬件现场复现的方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种硬件现场复现的装置,下面给出具体的实施例进行详细说明。
请参阅附图5,为本发明所公开的一种硬件现场复现的装置结构示意图,主要包括:检测单元501、备份单元502、分析单元503、读取单元504、获取单元505和复现单元506。其中,检测单元501与备份单元502连接,备份单元与分析单元503、读取单元504、获取单元505相连接,分析单元503与读取单元504相连接,读取单元504和获取单元505分别与复现单元506相连接。
检测单元501,用于检测芯片是否出现异常。
备份单元502,用于备份当前硬件现场中的数据信息,生成数据备份文件。
分析单元503,用于分析携带调试信息的可执行文件。
需要说明的是,在分析单元503中包括:获取模块5031、解析模块5032、映射模块5033和建立模块5034。
获取模块5031,用于获取携带调试信息的可执行文件。
解析模块5032,用于解析所述可执行文件,获取所述可执行文件中携带的调试信息所对应的芯片运行的程序数据信息。
映射模块5033,用于映射所述程序数据信息对应的实际物理地址。
建立模块5034,用于转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系。
读取单元504,用于依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据。
获取单元505,用于获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据。
复现单元506,用于显示所述真实数据于用户接口,复现硬件现场。
本发明实施例公开的装置基于上述本发明所公开的方法执行相关的获取数据过程,具体过程为:当检测单元501检测出芯片的运行出现了异常,利用备份单元502将实现硬件现场复现的数据进行备份,然后,再利用分析单元503、读取单元504和获取单元505从备份单元502生成的数据备份文件中获取相应的数据或信息,最后,在复现单元506上显示,实现硬件现场的复现。
在上述本发明公开的装置的基础上,请参阅附图6,本装置中还可以包括:创建单元507和移动单元508。
创建单元507,用于创建虚拟内存。
移动单元508,用于将所述数据备份文件移动至预设的所述虚拟内存中。
需要说明的是,创建单元507分别与移动单元508、读取单元504、获取单元505相连接;移动单元508分别与备份单元502、创建单元507相连接。
请参阅附图7,上述本发明实施例公开的装置可以分为客户端1和服务端2,在所述客户端1中包括:读取单元504、获取单元505和复现单元506;所述服务端2中包括:创建单元507、移动单元508、检测单元501、备份单元502、分析单元503。
其中,所述服务端2与客户端1通过通信媒介3进行信息交互,所述通信媒介3可以是特定物理通信媒介,例如USB线(Universal SerialBUS,通用串行总线),也可以是现有的通信协议,例如TCP/TP网络协议。
综上所述:
通过本发明公开的方法及装置,利用软件模拟仿真器,即不需要依托硬件将备份的数据恢复到芯片及开发板上,而采用软件分析获取复现所需数据的方式,可以提高硬件现场复现的速度并节约硬件资源,同时,在快速复现硬件现场之后也为技术人员提供了便利,进一步提高了技术人员分析芯片问题的时间。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种硬件现场复现的方法,其特征在于,包括:
在芯片出现异常时,备份当前硬件现场中的数据信息,生成数据备份文件;
获取携带调试信息的可执行文件,解析所述可执行文件,得到所述调试信息所对应的芯片运行的程序数据信息;
映射所述程序数据信息对应的实际物理地址;
转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系;
依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据;
获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据;
显示所述变量数据、内存数据和寄存器数据于用户接口,复现硬件现场。
2.根据权利要求1所述的方法,其特征在于,所述建立所述实际物理地址与所述数据备份文件之间的对应关系所采用的方式为:
转化映射后的所述实际物理地址为所述数据备份文件的文件指针。
3.根据权利要求1所述的方法,其特征在于,所述获取携带调试信息的可执行文件之前还包括:
创建虚拟内存,模拟芯片、开发板或测试板上的硬件信息,将所述数据备份文件移动至所述虚拟内存中,所述数据备份文件中包括开发板或测试板上的内存数据与寄存器数据,以及芯片运行程序时的相关变量数据。
4.根据权利要求1或3所述的方法,其特征在于,所述读取实际物理地址对应的变量数据、以及获取内存数据和寄存器数据之后,所述显示之前还包括:
通过通信媒介将所述变量数据、内存数据和寄存器数据发送至所述用户接口。
5.根据权利要求3所述的方法,其特征在于,所述建立所述实际物理地址与所述数据备份文件之间的对应关系采用非文件指针的方式进行建立。
6.根据权利要求1所述的方法,其特征在于,所述用户接口为图形界面接口。
7.根据权利要求1所述的方法,其特征在于,所述携带调试信息的可执行文件为芯片未出现异常前运行的文件。
8.一种硬件现场复现的装置,其特征在于,包括:
检测单元,用于检测芯片是否出现异常;
备份单元,用于备份当前硬件现场中的数据信息,生成数据备份文件;
分析单元,用于分析携带调试信息的可执行文件;所述分析单元中包括:
获取模块,用于获取携带调试信息的可执行文件;
解析模块,用于解析所述可执行文件,获取所述可执行文件中携带的调试信息所对应的芯片运行的程序数据信息;
映射模块,用于映射所述程序数据信息对应的实际物理地址;
建立模块,用于转化映射后的所述实际物理地址,建立其与所述数据备份文件之间的对应关系;
读取单元,用于依据所述对应关系从所述数据备份文件的备份中,读取所述实际物理地址对应的变量数据;
获取单元,用于获取备份于所述数据备份文件中的开发板或测试板上的内存数据和寄存器数据;
复现单元,用于显示所述真实数据于用户接口,复现硬件现场。
9.根据权利要求8所述的装置,其特征在于,所述装置中还包括:
创建单元,用于创建虚拟内存;
移动单元,用于将所述数据备份文件移动至预设的所述虚拟内存中。
10.根据权利要求9所述的装置,其特征在于,所述装置中的创建单元、移动单元、检测单元、备份单元、分析单元设置于服务端;所述装置中的读取单元、获取单元和复现单元设置于客户端;所述服务端与客户端通过通信媒介进行信息交互。
CN 201010584005 2010-12-10 2010-12-10 一种硬件现场复现的方法及装置 Active CN102567126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010584005 CN102567126B (zh) 2010-12-10 2010-12-10 一种硬件现场复现的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010584005 CN102567126B (zh) 2010-12-10 2010-12-10 一种硬件现场复现的方法及装置

Publications (2)

Publication Number Publication Date
CN102567126A true CN102567126A (zh) 2012-07-11
CN102567126B CN102567126B (zh) 2013-10-16

Family

ID=46412611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010584005 Active CN102567126B (zh) 2010-12-10 2010-12-10 一种硬件现场复现的方法及装置

Country Status (1)

Country Link
CN (1) CN102567126B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434325A (zh) * 2021-07-01 2021-09-24 斑马网络技术有限公司 一种核心转储调试的方法、电子设备及系统
CN114301638A (zh) * 2021-12-13 2022-04-08 山石网科通信技术股份有限公司 防火墙规则复现的方法和装置、存储介质及处理器
CN114781322A (zh) * 2022-04-24 2022-07-22 苏州睿芯集成电路科技有限公司 Cpu芯片仿真加速中针对无mmu环境的内存状态恢复方法
CN116594700A (zh) * 2023-07-17 2023-08-15 合肥康芯威存储技术有限公司 一种克隆eMMC芯片的方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700192A (zh) * 2004-05-18 2005-11-23 华为技术有限公司 一种使用外部程序存储器的方法
US7069411B1 (en) * 2003-08-04 2006-06-27 Advanced Micro Devices, Inc. Mapper circuit with backup capability
CN101203019A (zh) * 2007-11-20 2008-06-18 中兴通讯股份有限公司 通讯设备逻辑地址与物理地址的互换方法及装置
CN101751331A (zh) * 2008-08-15 2010-06-23 北京北大众志微系统科技有限责任公司 网络计算机平台板级调试的在线加载监听方法及其系统
CN101819545A (zh) * 2010-04-09 2010-09-01 济南银泉科技有限公司 一种利用虚拟化技术实现平台迁移的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069411B1 (en) * 2003-08-04 2006-06-27 Advanced Micro Devices, Inc. Mapper circuit with backup capability
CN1700192A (zh) * 2004-05-18 2005-11-23 华为技术有限公司 一种使用外部程序存储器的方法
CN101203019A (zh) * 2007-11-20 2008-06-18 中兴通讯股份有限公司 通讯设备逻辑地址与物理地址的互换方法及装置
CN101751331A (zh) * 2008-08-15 2010-06-23 北京北大众志微系统科技有限责任公司 网络计算机平台板级调试的在线加载监听方法及其系统
CN101819545A (zh) * 2010-04-09 2010-09-01 济南银泉科技有限公司 一种利用虚拟化技术实现平台迁移的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434325A (zh) * 2021-07-01 2021-09-24 斑马网络技术有限公司 一种核心转储调试的方法、电子设备及系统
CN114301638A (zh) * 2021-12-13 2022-04-08 山石网科通信技术股份有限公司 防火墙规则复现的方法和装置、存储介质及处理器
CN114301638B (zh) * 2021-12-13 2024-02-06 山石网科通信技术股份有限公司 防火墙规则复现的方法和装置、存储介质及处理器
CN114781322A (zh) * 2022-04-24 2022-07-22 苏州睿芯集成电路科技有限公司 Cpu芯片仿真加速中针对无mmu环境的内存状态恢复方法
CN116594700A (zh) * 2023-07-17 2023-08-15 合肥康芯威存储技术有限公司 一种克隆eMMC芯片的方法、装置、电子设备及存储介质
CN116594700B (zh) * 2023-07-17 2023-12-12 合肥康芯威存储技术有限公司 一种克隆eMMC芯片的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN102567126B (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
CN107423048B (zh) 数据收集的方法、装置、介质和计算设备
CN102289378B (zh) 自动生成应用程序的方法
CN105718354A (zh) 一种故障信息的重现方法和重现装置
CN104268055A (zh) 一种程序异常的监控方法和装置
CN104408366A (zh) 基于插装技术的安卓应用程序权限使用行为跟踪方法
CN111124789B (zh) 一种芯片仿真调试系统及调试方法
CN102567126B (zh) 一种硬件现场复现的方法及装置
CN110727581B (zh) 崩溃定位方法与电子设备
KR20130123582A (ko) 로그 모니터링 방법, 그 서버 및 기록 매체
CN103729221A (zh) 一种将bios调试信息放入到硬盘中的方法及装置
CN115686961A (zh) 处理器测试方法、装置及电子设备
CN115145777A (zh) 一种测试方法、系统、装置及存储介质
CN104809063A (zh) 分布式系统的测试方法及装置
CN105243013A (zh) 一种软件测试方法与系统
CN103077115B (zh) 一种兼容性测试平台搭建方法及装置
CN106681852A (zh) 一种浏览器兼容性的调整方法及装置
CN107590044B (zh) 一种分布式存储集群的测试方法、装置及设备
CN104484305B (zh) 一种服务器调试分析接口装置
CN107798244A (zh) 一种检测远程代码执行漏洞的方法及装置
CN103186551B (zh) 基于web应用平台的异常分析方法及仿真系统
CN115269331A (zh) 面向微服务组的服务拓扑监控方法及相关设备
CN107480033B (zh) 虚拟机蓝屏检测方法及设备
KR101735652B1 (ko) 단말 장치 및 이에 의한 사이버 공격 애플리케이션의 탐지 방법
CN115374736A (zh) 转换二进制文件产生离散已加载仿真内存模型的方法
CN105279074A (zh) 一种通过NSLog在终端上展示日志信息的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: DATANG TELECOM TECHNOLOGY INDUSTRY HOLDING CO., LT

Free format text: FORMER OWNER: LEADCORE TECHNOLOGY CO., LTD.

Effective date: 20141222

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 201206 PUDONG NEW AREA, SHANGHAI TO: 100191 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20141222

Address after: 100191 District 1, Beijing, Haidian District, Xueyuan Road

Patentee after: Datang Telecom Technology Industry Holding Co., Ltd.

Address before: 201206 Pudong New Area Mingyue Road, Shanghai, No. 1258

Patentee before: Leadcore Technology Co., Ltd.