CN102918508A - 采用无探针跟踪捕获的重播体系结构执行 - Google Patents
采用无探针跟踪捕获的重播体系结构执行 Download PDFInfo
- Publication number
- CN102918508A CN102918508A CN201180027185XA CN201180027185A CN102918508A CN 102918508 A CN102918508 A CN 102918508A CN 201180027185X A CN201180027185X A CN 201180027185XA CN 201180027185 A CN201180027185 A CN 201180027185A CN 102918508 A CN102918508 A CN 102918508A
- Authority
- CN
- China
- Prior art keywords
- data
- software
- simulator
- architectural
- failure message
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000523 sample Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 244000141353 Prunus domestica Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 101710094840 Sirohydrochlorin ferrochelatase Proteins 0.000 description 1
- 101710188946 Uroporphyrinogen-III C-methyltransferase Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005662 electromechanics Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- FKLFBQCQQYDUAM-UHFFFAOYSA-N fenpiclonil Chemical compound ClC1=CC=CC(C=2C(=CNC=2)C#N)=C1Cl FKLFBQCQQYDUAM-UHFFFAOYSA-N 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000001259 photo etching Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
-
- G06F11/3664—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种用于捕获在系统上执行的软件的体系结构数据的系统和方法,其中体系结构数据可包括状态数据和事件数据。被捕获的体系结构数据可在模拟器中重放,其中可从模拟器获得对应于软件的故障信息。
Description
背景技术
技术领域
实施例一般涉及软件故障的评估。更具体地,实施例涉及被捕获的体系结构数据的重放以评估软件故障。
讨论
调试软件的现有技术可涉及在所讨论的平台上执行测试内容并手动地修剪测试内容以隔离故障源。此类方法在问题解决之前可能需要多次迭代。此外,修剪测试内容可能仅在内容源可用时才是可行的。调试软件的其他技术可涉及使用逻辑分析器来跟踪所执行的软件逻辑,其中进行跟踪数据的全面分析。然而,多核和/或多线程处理器的趋势可引起探针通道的数量的增加和逻辑分析器的成本和复杂度的增加。简言之,调试软件的传统方法可能是耗时且昂贵的。
附图说明
通过阅读以下说明书和所附权利要求,以及通过参照以下附图,本发明的实施例的各个优点对本领域普通技术人员而言是显而易见的,其中:
图1是根据一实施例的评估软件的方案的示例的框图;
图2是根据一实施例的捕获存储器事务的方法的示例的流程图;
图3是根据一实施例的系统的示例的框图。
具体实施方式
实施例可提供一种方法,在该方法中捕获在系统上执行的软件体系结构数据。体系结构数据可在模拟器中重放,其中可从模拟器获得对应于软件的故障信息。其他实施例可包括具有一组存储的指令的计算机可读存储介质,该指令在被处理器执行时使得计算机捕获在系统上执行的软件的体系结构数据并在模拟器中重放该体系结构数据。指令还可使得计算机从模拟器获得故障信息,其中故障信息对应于软件。
此外,实施例可提供一种方法,其中利用系统的固件以响应于多个中断周期性地捕获在系统上执行的软件的体系结构数据。体系结构数据可包括状态数据和事件数据。体系结构数据的格式可被转换为与模拟器相关联的格式,其中体系结构数据可在模拟器中被重放。该方法还可提供从模拟器获得故障信息,其中故障信息对应于软件。
现转到图1,示出了在系统上执行的评估软件的方案10。方案10可用于支持、管理和/或提高诸如所评估软件的调试、验证和优化之类的各种各样的操作。此外,在其上执行软件的系统可包括诸如膝上型计算机、个人数字助理(PDA)、移动互联网设备(MID)、无线智能手机、媒体播放器、成像设备等等或其任何组合之类的移动平台。系统也可以是诸如个人计算机计算机(PC)、服务器、工作站等的固定平台的一部分。
一般而言,所示方案10包括硅执行序列12和模拟器执行序列14。硅执行序列12可与通过诸如通用处理器的单核或多核、固定功能硬件(例如,嵌入式微处理器)等集成电路的软件执行相关联,其中,集成电路可使用诸如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术或其任何组合之类的电路技术来制造。在一个示例中,由于诸如多线程或多核环境之类的复杂执行环境,软件具有很多交互和依赖关系。
在所示示例中,通过开始在执行处理框16的系统上执行软件,将系统置于测试下。箭头实例18(18a-18b)表示以周期方式或以其它方式发出中断,其中中断可发起通过转储处理程序20对体系结构状态数据22的捕获。被捕获的体系结构状态数据22可包括与诸如取指令单元、指令解码器、高速缓存、执行单元、寄存器等等系统体系结构的多个方面相关的数据。随着软件的执行在后续执行处理框30和34继续,体系结构事件数据24还可分别经由事件捕获处理框26和32捕获。体系结构事件数据可包括存储器事务(例如,加载-存储)数据和其他数据。所示序列12继续直至在框28遇到故障点。
图2示出捕获存储器事务数据的方法42。方法42可在作为储存在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪存等存储器的机器或计算机可读介质中的一组逻辑指令的可执行软件中实现,也可以在使用诸如ASIC、CMOS或TTL技术或其中任何组合的电路技术的固定功能硬件中实现。举例而言,可以用一种或多种编程语言的任意组合来编写用于实施在方法42中所示的操作的计算机程序代码,这些编程语言包括诸如Java、Smalltalk、C++等面向对象的编程语言以及诸如“C”编程语言或类似的编程语言的传统程序的编程语言。另一方面,诸如汇编语言编程或机器代码之类的固定功能硬件或更低级固件指令可用于实施在方法42中所示的操作。实际上,上述体系结构状态转储处理器20操作、体系结构事件捕获框26、32和中断箭头实例18(图1)均可在被测试系统的固件(例如,定制微码)中全部自动化。因此,所示方法不需要手动调试或使用复杂的逻辑分析器(例如,提供无外部设备的“无探针”测试布置)来获得被测试软件的故障信息。
所示的处理框44提供确定存储器事务数据捕获固件是否启用。如果启用,通过测试软件的操作访问的一个或多个地址可在框46中被标识并捕获。捕获可包括在每次存储器访问中涉及的物理以及线性地址。还可收集诸如尝试每个存储器访问的执行流中的指令之类的其他执行数据和在加载操作的情况(例如对标志、寄存器的改变,等等)下的每个存储器操作的结果。如下所讨论的,框48提供封装被捕获的地址和执行数据,以及框50提供存储经封装的信息以用于后续转换和/或传输至模拟器。此外,在框52可退出存储器操作,而不引起被测试软件的宏观或微观操作流的任何变化。
返回至图1,被捕获的体系结构状态数据22和事件数据24可被转换为与模拟器相关联的格式,其中模拟器处理框36提供利用被捕获的体系结构状态数据22来初始化模拟器。体系结构模拟器的示例包括但不限于从新罕布什尔州纳舒厄市的Gambit通信公司购买的模拟器、Bochs开源仿真器(例如,Bochs IA-32仿真器v2.4.5,2010年4月25日,Geeknet公司)以及QEMU开源仿真器(例如,QEMU v0.12.4,2010年5月4日)。处理框38提供使用被捕获的事件数据24在模拟器中重放软件,其中可在框40从模拟器获得被测试软件的故障信息。故障信息可被用于进行诸如调试操作、验证操作和优化操作之类的附加操作。
例如,在系统调试使用模型中,体系结构重放可启用对被归类为软件故障的问题的快速分类。一个副产品可能是在需要更详细的调制时对问题的隔离。同样,从环境和BIOS(基本输入/输出系统)相关原因所显现的故障问题可使用所示方法来标识。
在验证的情况下,故障信息可对互操作性和/或兼容性有影响,尤其在多核/多线程环境下操作时。可能浮现的问题包括但不限于核/线程之间的同步问题、处理器间加载/存储问题、处理器间中断的排序,等等。因此,体系结构重放可便于对潜在故障进行根本原因分析。
此外,所示方法可被包含在软件开发包中,当与诸如编译器和线程化工具之类的其他工具相联系时,软件开发包可由设备制造商和软件供应商使用以启用和优化软件工具链。
图3示出了计算系统54,其中系统54可以是诸如膝上型计算机、PDA、MID、无线智能电话、媒体播放器、成像设备等等或其任何组合之类的移动平台的一部分。系统54也可以是诸如PC、服务器、工作站等固定平台的一部分。所示系统10包括主机处理器56,该主机处理器56可包括提供对系统存储器60的访问的集成存储器控制器58,该系统存储器60可包括双数据率(DDR)同步动态随机存取存储器(SDRAM,例如DDR3 SDRAMJEDEC标准JESD79-3C,2008年4月)模块。系统存储器60的模块可被合并为单列直插式存储器模块(SIMM)、双列直插式存储器模块(DIMM)、小型DIMM(SODIMM),等等。处理器56也可具有一个或多个处理器核62,其中每个核62可具有取指令单元、指令解码器、一级(L1)高速缓存、执行单元等等的全部功能。在一个示例中,处理器56的内部高速缓存可用静态RAM(SRAM)实现。处理器56也可执行诸如Microsoft Windows、Linux或Mac(Macintosh)OS等操作系统(OS)以及各种其它软件应用,其中此类软件可遭受一点或多点故障。
所示处理器56与平台控制器中枢(PCH)64通信,在某些系统中该PCH也被称作南桥。PCH 64可具有内部控制器(未示出),诸如USB(通用串行总线,例如,USB规范2.0,USB实现者论坛)、串行ATA(SATA,例如,SATA Rev.3.0规范,2009年5月27日,SATA国际组织/SATA-IO)、高清晰度音频以及其它控制器。PCH 64可与网络控制器70通信,网络控制器70可提供平台外通信功能以用于诸如蜂窝电话(例如,W-CDMA(UMTS)、CDMA2000(IS-856/IS-2000)等)、WiFi(例如,IEEE 802.11,1999年版,LAN/MAN无线LANS)、蓝牙(例如,IEEE 802.15.1-2005,无线个域网)、WiMax(例如,IEEE 802.16-2004,LAN/MAN宽带无线LANS)、全球定位系统(GPS)、扩展频谱(例如,900MHz)以及其他射频(RF)电话目的之类的各种各样的目的。所示PCH 64也耦合到一个或多个大容量存储设备,该大容量存储设备可包括硬盘驱动器(HDD)66、ROM、光盘、闪存等。此外,PCH 64可为诸如话筒、显示器、键盘、鼠标、扬声器等用户接口(UI)设备68提供支持,以允许用户与系统54交互和从系统54感知信息。
核62可执行无探针逻辑指令集(例如,微码/固件)74,该指令74可最初从BIOS 72(例如,作为补丁从PROM、基于NAND的固态盘(SSD),或闪存)加载、经由工具动态地加载、或已驻留在处理器56的UROM(微ROM,未示出)中。在所示的示例中,该组无探针逻辑指令74使得系统54捕获在系统54上所执行的软件(例如,OS和其他应用程序代码)的体系结构数据,而不影响被测试软件的执行。此外,逻辑指令74可在模拟器中重放被捕获的体系结构数据,并从模拟器获得故障信息,其中故障信息对应于在系统54上所执行的软件。如上所述,体系结构数据可包括状态数据和事件数据,其中,在一个示例中,事件数据包括存储器事务数据。
本发明的实施例可适用于所有类型的半导体集成电路(“IC”)芯片。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等等。此外,在一些附图中,采用线条表示信号导线。一些线条可更粗以指示更多的组成信号路径,具有数字标记以指示组成信号路径的数量,和/或具有在一端或多端的箭头以指示主要信息流方向。然而,这不应以限制的方式来理解。相反,此类附加细节可与一个或多个示例性实施例结合使用以便于更容易理解电路。任何所表示的信号线路(不论是否具有附加信息)可实际包括可在多个方向传送的一个或多个信号并可采用任何合适类型的信号方案实现,例如,采用差分对实现的数字或模拟线路、光纤线路和/或单端线路。
可能已经给出示例尺寸/模型/值/范围,但是本发明的实施例不限于此。制造技术(例如,光刻)随时间日趋成熟,可预期可制造尺寸越来越小的设备。此外,为了简化说明和讨论起见,且为了不混淆本发明的实施例的某些方面,众所周知的到IC芯片和其他部件的电源/接地连接可能会或可能不会在附图中示出。更进一步地,为了避免混淆本发明的实施例,并鉴于与框图布置的实现有关的细节高度依赖于实施例的实现平台的事实,即这些细节应在本领域普通技术人员所知的范围之内,因此布置以框图的形式示出。在陈述了具体细节(例如,电路)以描述本发明的示例实施例的情况下,本领域普通技术人员应当显而易见的是,本发明实施例可在不利用这些具体细节或利用这些具体细节的变型的情况下实现。因此,本说明书被视为说明性的而不是限制性的。
一些实施例可例如利用机器或有形的计算机可读介质或物品来实现,该介质或物品可存储指令或一组指令,该指令或该组指令被机器执行时可使得机器执行根据实施例的方法和/或操作。这样的机器可包括,例如,任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器或类似物,且可利用任何合适的硬件和/或软件组合实现。机器可读介质或物品可包括例如任何适合类型的存储器单元、存储器器件、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如存储器、可移动的或不可移动的介质、可擦除或不可擦除的介质、可写入或可反复写入的介质、数字或模拟介质、硬盘、软盘、光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、光盘、磁介质、磁光介质、可移动存储卡或盘、各种类型的数字多功能盘(DVD)、带、盒式带等等。指令可包括利用任何合适的高级、低级、面向对象、可视、汇编和/或解释编程语言实现的诸如源代码、汇编代码、解释代码、可执行代码、静态代码、动态代码、加密代码等任何适合类型的代码。
除非特别声明,否则应当理解的是,诸如“处理”、“计算”、“运算”、“确定”等等之类的术语指的是计算机或计算机系统或相似的电子计算设备的动作和/或处理,这些系统或设备操纵和/或将寄存器和/或存储器中被表示为物理量(例如电子)的数据转换成同样在存储器、寄存器或其它此类信息存储、传输或显示器件中被表示为物理量的其它数据。各实施例不限于此上下文的情况。
术语“耦合”在本文中被用于指代所讨论的部件之间的任何类型的直接或间接关系,且可应用于电气的、机械的、流体的、光学的、电磁的、机电的或其它连接。此外,术语“第一”、“第二”等在本文中仅被用于便于讨论,且没有特殊时间或年代顺序意义,除非另外指明。
根据以上的描述,本领域普通技术人员应当理解,本发明的实施例一般技术可通过各种形式实现。因此,虽然已结合具体示例描述了本发明的实施例,但是本发明实施例的真实范围不应当局限于此,因为经过研究附图、说明书以及所附权利要求书,其它修改对本领域普通技术人员而言是显而易见的。
Claims (20)
1.一种方法,包括:
使用系统的固件以响应于多个中断周期性地捕获在所述系统上执行的软件的体系结构数据,其中所述体系结构数据包括状态数据和事件数据;
将所述体系结构数据的格式转换为与模拟器相关联的格式;
在所述模拟器中重放所述体系结构数据;以及
从模拟器获得故障信息,其中所述故障信息对应于所述软件。
2.如权利要求1所述的方法,其特征在于,进一步包括:
标识由所述软件的操作访问的一个或多个地址;以及
将所述一个或多个地址与对应于软件的执行数据封装在一起。
3.如权利要求1所述的方法,其特征在于,进一步包括:基于所述故障信息执行调试操作、验证操作和优化操作中的至少一个。
4.如权利要求1所述的方法,其特征在于,捕获在包括多核处理器和多线程处理器中的至少一个的系统上执行的软件的体系结构数据。
5.一种计算机可读存储介质,包括一组指令,所述指令在被处理器执行使得计算机:
捕获在系统上执行的软件的体系结构数据;
在模拟器中重放所述体系结构数据;以及
从所述模拟器获得故障信息,其中所述故障信息对应于所述软件。
6.如权利要求5所述的介质,其特征在于,所述指令在被执行时进一步使得所述计算机使用所述系统的固件来捕获体系结构数据。
7.如权利要求5所述的介质,其特征在于,所述体系结构数据包括状态数据和事件数据中的至少一个,以及所述事件数据包括存储器事务数据。
8.如权利要求7所述的介质,其特征在于,所述指令在被执行时进一步使得所述计算机:
标识由所述软件的操作访问的一个或多个地址;以及
将所述一个或多个地址与对应于所述软件的执行数据封装在一起,其中所述一个或多个地址包括线性地址和物理地址中的至少一个。
9.如权利要求5所述的介质,其特征在于,所述指令在被执行时进一步使得所述计算机响应于多个中断周期性地捕获所述体系结构数据。
10.如权利要求5所述的介质,其特征在于,所述指令在被执行时进一步使得所述计算机基于所述故障信息执行调试操作、验证操作和优化操作中的至少一个。
11.如权利要求5所述的介质,其特征在于,所述指令在被执行时进一步使得计算机将所述体系结构数据的格式转换为与所述模拟器相关联的格式。
12.如权利要求5所述的介质,其特征在于,所述系统包括多核处理器和多线程处理中的至少一个。
13.一种方法,包括:
捕获在系统上执行的软件的体系结构数据;
在模拟器中重放所述体系结构数据;以及
从模拟器获得故障信息,其中所述故障信息对应于所述软件。
14.如权利要求13所述的方法,其特征在于,进一步包括使用所述系统的固件来捕获所述体系结构数据。
15.如权利要求13所述的方法,其特征在于,所述体系结构数据包括状态数据和事件数据中的至少一个,以及所述事件数据包括存储器事务数据。
16.如权利要求15所述的方法,其特征在于,进一步包括:
标识由所述软件的操作访问的一个或多个地址;以及
将所述一个或多个地址与对应于所述软件的执行数据封装在一起,其中所述一个或多个地址包括线性地址和物理地址中的至少一个。
17.如权利要求13所述的方法,其特征在于,还包括响应于多个中断周期性地捕获所述体系结构数据。
18.如权利要求13所述的方法,其特征在于,进一步包括:基于所述故障信息执行调试操作、验证操作和优化操作中的至少一个。
19.如权利要求13所述的方法,其特征在于,进一步包括:将所述体系结构数据的格式转换为与所述模拟器相关联的格式。
20.如权利要求13所述的方法,其特征在于,捕获在包括多核处理器和多线程处理器中的至少一个的系统上执行的软件的体系结构数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/825,014 | 2010-06-28 | ||
US12/825,014 US8924788B2 (en) | 2010-06-28 | 2010-06-28 | Replaying architectural execution with a probeless trace capture |
PCT/US2011/041086 WO2012009105A2 (en) | 2010-06-28 | 2011-06-20 | Replaying architectural execution with a probeless trace capture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102918508A true CN102918508A (zh) | 2013-02-06 |
CN102918508B CN102918508B (zh) | 2016-02-24 |
Family
ID=45353749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180027185.XA Expired - Fee Related CN102918508B (zh) | 2010-06-28 | 2011-06-20 | 采用无探针跟踪捕获的重播体系结构执行 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8924788B2 (zh) |
EP (1) | EP2585922A4 (zh) |
JP (1) | JP5551828B2 (zh) |
KR (1) | KR101505258B1 (zh) |
CN (1) | CN102918508B (zh) |
WO (1) | WO2012009105A2 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924788B2 (en) | 2010-06-28 | 2014-12-30 | Intel Corporation | Replaying architectural execution with a probeless trace capture |
CN103324570A (zh) * | 2013-06-18 | 2013-09-25 | 安科智慧城市技术(中国)有限公司 | 一种被测试系统功能的测试方法、系统 |
US10198341B2 (en) * | 2016-12-21 | 2019-02-05 | Microsoft Technology Licensing, Llc | Parallel replay of executable code |
US11544148B2 (en) | 2021-04-02 | 2023-01-03 | Microsoft Technology Licensing, Llc | Preserving error context during a reboot of a computing device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10111815A (ja) * | 1996-08-13 | 1998-04-28 | Nec Corp | デバッグシステム |
US20030000703A1 (en) * | 2001-06-29 | 2003-01-02 | Cernocky Edward Paul | Method and apparatus for perforating a well |
US20060015852A1 (en) * | 2004-07-14 | 2006-01-19 | Paul Parkinson | Failure test framework |
US20060155525A1 (en) * | 2005-01-10 | 2006-07-13 | Aguilar Maximino Jr | System and method for improved software simulation using a plurality of simulator checkpoints |
US20070011517A1 (en) * | 2005-06-28 | 2007-01-11 | Boyce Douglas G | Debug system for data tracking |
CN101067798A (zh) * | 2007-06-14 | 2007-11-07 | 华南理工大学 | 一种动态探针方法及其在嵌入式系统中的应用 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6452062A (en) | 1987-08-21 | 1989-02-28 | Nippon Telegraph & Telephone | Ionic source |
JPH01251142A (ja) | 1988-03-31 | 1989-10-06 | Toshiba Corp | プログラムトレース方式 |
US5513315A (en) * | 1992-12-22 | 1996-04-30 | Microsoft Corporation | System and method for automatic testing of computer software |
JPH0863368A (ja) | 1994-08-23 | 1996-03-08 | Hitachi Ltd | エミュレータおよびマイクロコンピュータ |
JPH08147191A (ja) | 1994-11-22 | 1996-06-07 | Hitachi Ltd | エミュレータおよびそれを用いたマイクロコンピュータ開発支援装置 |
JPH08314817A (ja) | 1995-05-15 | 1996-11-29 | Hitachi Ltd | エラー解析方式 |
US7124108B1 (en) * | 1998-06-22 | 2006-10-17 | Kimle Kevin L | Method for electronically initiating and managing agricultural production contracts |
US7356786B2 (en) * | 1999-11-30 | 2008-04-08 | Synplicity, Inc. | Method and user interface for debugging an electronic system |
US6574759B1 (en) * | 2000-01-18 | 2003-06-03 | Rambus Inc. | Method for verifying and improving run-time of a memory test |
US7188061B2 (en) * | 2001-07-16 | 2007-03-06 | International Business Machines Corporation | Simulation monitors based on temporal formulas |
US6651187B2 (en) | 2001-12-31 | 2003-11-18 | Globespanvirata Inc. | System and method for determining fault path behavior |
US8103497B1 (en) * | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US6904576B2 (en) * | 2002-08-09 | 2005-06-07 | Synplicity, Inc. | Method and system for debugging using replicated logic |
US7146606B2 (en) * | 2003-06-26 | 2006-12-05 | Microsoft Corporation | General purpose intermediate representation of software for software development tools |
US7380235B1 (en) * | 2003-06-27 | 2008-05-27 | Microsoft Corporation | Application program interface call replay tool |
US20050071499A1 (en) * | 2003-09-30 | 2005-03-31 | Batra Rajesh K. | Real-time diagnostic data streams for tunable optical devices |
US7634687B2 (en) * | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
FR2882449A1 (fr) * | 2005-01-21 | 2006-08-25 | Meiosys Soc Par Actions Simpli | Procede non intrusif de rejeu d'evenements internes au sein d'un processus applicatif, et systeme mettant en oeuvre ce procede |
WO2006079623A1 (en) * | 2005-01-28 | 2006-08-03 | International Business Machines Corporation | Method for counting instructions for logging and replay of a deterministic sequence of events |
US7747844B2 (en) * | 2005-03-31 | 2010-06-29 | Hewlett-Packard Development Company, L.P. | Acquiring instruction addresses associated with performance monitoring events |
US7620938B2 (en) * | 2005-10-31 | 2009-11-17 | Microsoft Corporation | Compressed program recording |
US7899661B2 (en) * | 2006-02-16 | 2011-03-01 | Synopsys, Inc. | Run-time switching for simulation with dynamic run-time accuracy adjustment |
US8079019B2 (en) * | 2007-11-21 | 2011-12-13 | Replay Solutions, Inc. | Advancing and rewinding a replayed program execution |
US20080046699A1 (en) * | 2006-08-21 | 2008-02-21 | International Business Machines Corporation | Method and apparatus for non-deterministic incremental program replay using checkpoints and syndrome tracking |
US7684881B2 (en) * | 2006-09-28 | 2010-03-23 | Rockwell Automation Technologies, Inc. | Transient-sensitive indicators for HMI devices |
US8135572B2 (en) * | 2007-01-23 | 2012-03-13 | Microsoft Corporation | Integrated debugger simulator |
US7945434B2 (en) * | 2007-03-22 | 2011-05-17 | Progress Software Corporation | Non-intrusive event capturing for event processing analysis |
US9710784B2 (en) * | 2007-03-30 | 2017-07-18 | Software Ag | Market data-driven simulation of order book mechanics |
US7974828B2 (en) * | 2007-04-27 | 2011-07-05 | Omron Corporation | Simulation device for programmable controller |
JP4828483B2 (ja) | 2007-08-04 | 2011-11-30 | 株式会社リコー | 半導体集積回路 |
US20090089320A1 (en) * | 2007-09-28 | 2009-04-02 | Dov Tendler | Capturing application state information for simulation in managed environments |
US7870438B2 (en) * | 2008-02-15 | 2011-01-11 | International Business Machines Corporation | Method, system and computer program product for sampling computer system performance data |
US7933759B2 (en) * | 2008-03-28 | 2011-04-26 | Microsoft Corporation | Predicate checking for distributed systems |
DE112008004025T5 (de) * | 2008-10-07 | 2012-03-01 | Hewlett-Packard Development Company, L.P. | Analysieren von Ereignissen |
US8499297B2 (en) * | 2008-10-28 | 2013-07-30 | Vmware, Inc. | Low overhead fault tolerance through hybrid checkpointing and replay |
US8402318B2 (en) * | 2009-03-24 | 2013-03-19 | The Trustees Of Columbia University In The City Of New York | Systems and methods for recording and replaying application execution |
US20100319004A1 (en) * | 2009-06-16 | 2010-12-16 | Microsoft Corporation | Policy Management for the Cloud |
US8578342B2 (en) * | 2009-07-14 | 2013-11-05 | International Business Machines Corporation | Fault detection and localization in dynamic software applications requiring user inputs and persistent states |
US20110061050A1 (en) * | 2009-09-04 | 2011-03-10 | Sahita Ravi L | Methods and systems to provide platform extensions for trusted virtual machines |
US8495344B2 (en) * | 2010-01-22 | 2013-07-23 | Via Technologies, Inc. | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information |
US8656228B2 (en) * | 2010-06-23 | 2014-02-18 | International Business Machines Corporation | Memory error isolation and recovery in a multiprocessor computer system |
US8924788B2 (en) | 2010-06-28 | 2014-12-30 | Intel Corporation | Replaying architectural execution with a probeless trace capture |
-
2010
- 2010-06-28 US US12/825,014 patent/US8924788B2/en not_active Expired - Fee Related
-
2011
- 2011-06-20 KR KR1020127030614A patent/KR101505258B1/ko active IP Right Grant
- 2011-06-20 CN CN201180027185.XA patent/CN102918508B/zh not_active Expired - Fee Related
- 2011-06-20 WO PCT/US2011/041086 patent/WO2012009105A2/en active Application Filing
- 2011-06-20 JP JP2013513420A patent/JP5551828B2/ja not_active Expired - Fee Related
- 2011-06-20 EP EP11807239.6A patent/EP2585922A4/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10111815A (ja) * | 1996-08-13 | 1998-04-28 | Nec Corp | デバッグシステム |
US20030000703A1 (en) * | 2001-06-29 | 2003-01-02 | Cernocky Edward Paul | Method and apparatus for perforating a well |
US20060015852A1 (en) * | 2004-07-14 | 2006-01-19 | Paul Parkinson | Failure test framework |
US20060155525A1 (en) * | 2005-01-10 | 2006-07-13 | Aguilar Maximino Jr | System and method for improved software simulation using a plurality of simulator checkpoints |
US20070011517A1 (en) * | 2005-06-28 | 2007-01-11 | Boyce Douglas G | Debug system for data tracking |
CN101067798A (zh) * | 2007-06-14 | 2007-11-07 | 华南理工大学 | 一种动态探针方法及其在嵌入式系统中的应用 |
Also Published As
Publication number | Publication date |
---|---|
CN102918508B (zh) | 2016-02-24 |
EP2585922A4 (en) | 2015-11-11 |
JP5551828B2 (ja) | 2014-07-16 |
JP2013531292A (ja) | 2013-08-01 |
WO2012009105A2 (en) | 2012-01-19 |
EP2585922A2 (en) | 2013-05-01 |
WO2012009105A3 (en) | 2012-03-08 |
KR20130019432A (ko) | 2013-02-26 |
KR101505258B1 (ko) | 2015-03-24 |
US8924788B2 (en) | 2014-12-30 |
US20110320877A1 (en) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10067813B2 (en) | Method of analyzing a fault of an electronic system | |
US9262283B2 (en) | Method for reading kernel log upon kernel panic in operating system | |
US10394561B2 (en) | Mechanism for facilitating dynamic and efficient management of instruction atomicity volations in software programs at computing systems | |
KR102178538B1 (ko) | 메모리 장치, 메모리 장치의 커맨드 신호/어드레스 신호의 로그 생성 방법 및 메모리 장치의 에러 분석 방법 | |
US10013335B2 (en) | Data flow analysis in processor trace logs using compiler-type information method and apparatus | |
CN102918508B (zh) | 采用无探针跟踪捕获的重播体系结构执行 | |
US9632922B2 (en) | Workload mapper for potential problem areas using modules and defect data | |
US20130024178A1 (en) | Playback methodology for verification components | |
US20130232376A1 (en) | Managing A Storage Device Using A Hybrid Controller | |
CN103207824B (zh) | 监控模式下不受复位干扰的仿真器 | |
US20110202903A1 (en) | Apparatus and method for debugging a shared library | |
CN106095631B (zh) | 一种基于有限状态机实现的多周期非流水线cpu动态调试方法 | |
CN107943632A (zh) | 一种实现多nvme盘配置服务器中各盘性能均衡的方法及系统 | |
CN114691520A (zh) | 基于处理器调试架构的指令可编程缓冲区设计系统 | |
US20110246838A1 (en) | Device for use in inspecting a cpu and method thereof | |
CN114064212B (zh) | Pci设备的访问地址跟踪方法、设备及计算机可读存储介质 | |
CN202632270U (zh) | 基于usb3.0的硬盘数据读取设备 | |
TWI700579B (zh) | 儲存裝置測試系統及儲存裝置測試方法 | |
US20070028218A1 (en) | Apparatus, system, and method for a software test coverage analyzer using embedded hardware | |
TW201024995A (en) | Testing device for simulating storage devices and testing method thereof | |
CN1936861A (zh) | 程序执行追踪方法及系统以及计算机可读取储存介质 | |
TWI230346B (en) | Method and system for collecting information data | |
CN117608956A (zh) | 一种性能异常的分析方法及存储设备 | |
US20070094001A1 (en) | Method and system for non-intrusive code coverage | |
KR20160061237A (ko) | 전자 시스템의 결함 분석 방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160224 Termination date: 20180620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |