CN101142560A - 调试装置和方法 - Google Patents

调试装置和方法 Download PDF

Info

Publication number
CN101142560A
CN101142560A CNA2006800034213A CN200680003421A CN101142560A CN 101142560 A CN101142560 A CN 101142560A CN A2006800034213 A CNA2006800034213 A CN A2006800034213A CN 200680003421 A CN200680003421 A CN 200680003421A CN 101142560 A CN101142560 A CN 101142560A
Authority
CN
China
Prior art keywords
breakpoint
register
plot
stored
bar
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
CNA2006800034213A
Other languages
English (en)
Other versions
CN100541446C (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101142560A publication Critical patent/CN101142560A/zh
Application granted granted Critical
Publication of CN100541446C publication Critical patent/CN100541446C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种数据处理系统,包括:至少一个处理单元(PU),用于处理应用程序;以及调试器装置(DM),用于基于多个断点来对所述至少一个处理单元(PU)的处理进行调试。所述调试器装置(DM)包括:第一断点寄存器(BAR),用于存储所述多个断点之一的基址,其中,所述调试器装置(DM)基于存储在第一断点寄存器,即基址寄存器(BAR)中的地址,发起对所述至少一个处理单元(PU)的处理的调试。第二断点寄存器(OR)设置来存储用于获得后续断点的偏移量。逻辑算术单元(LAU)设置来基于存储在第一断点寄存器中的基址和存储在第二断点寄存器中的偏移量,重复地计算断点条件,并相应地更新存储在第一断点寄存器中的基址。

Description

调试装置和方法
技术领域
本发明涉及一种包括多个处理单元和调试装置的数据处理系统,以及一种用于在数据处理系统中进行调试的方法。
背景技术
对于基于多核构架的现代片上(SoC)系统,用于调试整个系统的时间极大地影响开发时间。因此,改进的片上系统的调试能力将会使开发时间缩短。此外,更容易发现复杂应用程序中的可能错误,从而消耗更少的时间。目前,为了满足调试要求,将断点寄存器包括在整个构架中。断点可以看作是在程序中停止执行程序的位置,并将执行处理器的控制切换到调试器。典型地,调试器依据断点的类型来停止程序的执行。因此,如果已经到达了特定行、如果写入特定存储器位置或从中读取、如果达到了特定条件等,则可以停止执行。采用硬件形式,这些断点可以具体实现为针对数据和指令的断点寄存器。可以用必要的数据、地址或指令对这些断点寄存器进行编程,以设置适当断点。如果启动并执行程序,则调试器用于在系统执行遇到断点时产生陷阱(trap)。之后,可以观察并分析处理器资源的状态,以找出错误或任何其它重要事件的可能原因。换言之,调试器会指示与所编程的断点相对应的第一级(order)事件的发生,例如,所编程的数据断点寄存器与数据总线的数据内容之间的匹配。
US 6,757,846涉及一种用于多总线断点步进(breakpoint stepping)的方法。提供了一种断点单元,能够检测多根总线上的总线事件。断点单元最初被编程来在检测到从多根总线中选择的总线上的特定总线事件时,产生中断。一旦检测到特定总线事件,则设备进入到多种可能的死机状态(frozen state)之一。则需要对断点单元进行手动编程,以检测新的总线事件,这在许多情况下是人们不希望的。
US 6,192,427公开了一种数据处理设备,该设备将RAM的一部分用作当前数据处理设备正在处理的数据流的输入缓冲器。将RAM分为数据区域和另一断点区域。基于第一区域内的数据,将必要的地址加载到第二区域。软件例程从第二区域中选择地址,并将该地址放入断点寄存器中。只要出现地址匹配,比较器就决定触发断点。这种方式的主要缺点在于,其一,需要通过执行静态分析来识别必要的地址/事件,并提前存储它们;其二,可以容纳断点地址的存储器物理上受到限制。
在媒体或流处理中,特定任务的指令数目是有限的,并通常是重复的,这在这种片上系统的调试期间引入了额外的问题。为了调试目的,可能希望通过插入断点来观察每x个指令时进行自身重复的重复指令,以及在每次执行了指令之后分析整个系统的状态。此外,为了调试目的,可能希望观察是否及如何访问在不同情况下存储在不同地址位置中的数据集。可以通过在遇到第一断点之后、以新的地址和/或值来对断点寄存器进行手动重新编程,来执行对多个数据地址或指令地址的断点的触发。然而,这需要大量的调试时间。另一方面,可以将断点序列静态编程到多个断点寄存器,这将不需要任何重新编程,但需要过多的断点寄存器,这对于实现来说不可行,或者最多得到成本非常高的解决方案。
发明内容
因此,本发明的目的是提供一种数据处理系统和一种调试方法,其能够自我更新断点寄存器,以容纳较大的预定断点集合。
通过根据权利要求1的数据处理系统、根据权利要求3的调试方法、以及根据权利要求4的电子设备来实现该目的。
因此,提供了一种数据处理系统,包括:至少一个处理单元,用于数据处理;以及调试器装置,用于基于多个断点来对所述至少一个处理单元的处理进行调试。调试器装置包括第一断点寄存器,用于存储多个断点之一的基址,其中,调试器装置基于存储在第一断点寄存器(即,基址寄存器)中的基址,发起对所述至少一个处理单元的处理的调试。第二断点寄存器设置来存储用于获得后续断点的偏移量。逻辑算术单元设置来基于存储在第一断点寄存器中的基址和存储在第二断点寄存器中的偏移量,重复地计算断点条件,并更新存储在第一断点寄存器中的基址。
因此,在不需要在断点出现之后利用新地址和/或值来对断点寄存器进行手动重新编程的情况下,检测重复指令/数据的出现。此外,由于对断点寄存器进行再使用,所以很少的断点寄存器便足以容纳用户定义的所有断点,这使调试基础构架的实现更加低廉。
根据本发明的方面,数据处理系统还包括存储器和在将其FIFO映射在存储器上的处理系统上运行的应用程序。逻辑算术单元包括:加法器,用于将第一和第二断点寄存器的内容相加;以及模运算单元,用于以FIFO的大小为模,对加法器的输出执行模运算,其中,模运算的结果表示第一断点寄存器中要更新的下一基址。
本发明还涉及一种在具有用于数据处理的至少一个处理单元的数据处理系统内进行调试的方法。基于多个断点对所述至少一个处理单元的处理进行调试。存储多个断点之一的基址,其中,基于所存储的基址来发起对所述至少一个处理单元处理的调试。存储断点的偏移量。基于所存储的基址和所存储的偏移量来重复检测后续断点条件,并相应地更新所存储的基址。
本发明还涉及一种电子设备,包括:至少一个处理单元,用于数据处理;以及调试器装置,用于基于多个断点,对所述至少一个处理单元的处理进行调试。调试器装置包括第一断点寄存器,用于存储多个断点之一的基址,其中,所述调试器装置基于存储在第一断点寄存器中的基址(即,基址寄存器)来发起对所述至少一个处理单元处理的调试。第二断点寄存器设置来存储用于获得后续断点的偏移量。逻辑算术单元设置来基于存储在第一断点寄存器中的基址和存储在第二断点寄存器中的偏移量,重复计算断点条件,并相应地更新存储在第一断点寄存器中的基址。
本发明基于以下思想:在具有重复性处理的数据处理环境内,执行断点寄存器的自动更新。离线地或预先确定硬件断点的发生规则,即,为了调试目的,应当针对哪种条件来停止数据处理系统中的处理。将该规则建模为基址和与重复发生的重复模式相对应的偏移量。使用逻辑单元来控制断点寄存器的更新,以确定或生成下一或更新的硬件断点条件。
附图说明
参照以下描述的实施例,本发明的这些和其它方面将变得显而易见并得以阐述。
图1示出了根据第一实施例的数据处理系统内的调试装置的结构框图;以及
图2示出了根据第二实施例的包含数据的FIFO的表示。
具体实施方式
根据第一实施例的数据处理系统的构架涉及具体用于多核结构上媒体或流处理的片上系统。片上系统内通信的至少一些优选的是基于FIFO的,即,FIFO(例如,映射至共享存储器)用于存储多个数据分组。为了调试目的,观察每x个指令便进行自身重复的重复指令,并分析执行指令之后整个系统的状态。因此,可以执行调试,以观察是否或如何访问在不同情况下存储在不同地址位置中的数据集合。
图1示出了根据第一实施例的具有多个处理单元PU(仅示出了一个处理单元)的数据处理系统中的调制装置DM的结构框图。调试装置DM包括基址寄存器BAR、偏移量寄存器OR和逻辑算术单元LAU。基址寄存器BAR用于存储指令的基址和/或数据地址。偏移量寄存器OR用于存储相对于存储在基址寄存器BAR中的基址的偏移量。逻辑算术单元LAU包括:加法器ADD,用于将存储在基址寄存器BAR和偏移量寄存器OR中的地址相加;以及模运算单元MOU。逻辑算术单元LAU用于检测断点条件并更新基址寄存器BAR,然后使用偏移量寄存器OR来确定新的后续断点。
调试装置DM允许使用多个硬件断点,以便只基于基址寄存器BAR和偏移量寄存器OR,利用逻辑算术单元LAU来检测特定指令和/或数据。基址寄存区BAR用于对重复指令和/或数据的第一次出现的地址进行编程。偏移量寄存器OR用于对具有相同指令和/或数据的基址和下一地址之间的偏移量进行编程,即,偏移量寄存器OR中的值与重复模式相对应。因此,两个寄存器对于重复或循环处理的情况是足够的。
现在将基于离散余弦变换(DCT)处理的一种方式来描述第一实施例。通过读取宏块分组报头、解析该报头并基于解析器输出来读取宏块数据分组、然后基于所读取的数据计算DCT系数并输出该系数,执行DCT任务。这里,作为示例,检查宏块报头读取的系统行为和时序。因此,可以在读取宏块报头的指令处插入断点。如果不需要任何循环展开技术而已对指令进行了编译,则读取宏块报头的指令的地址不改变,从而可以将其特定地址存储在指令断点寄存器中。因此,一旦处理了读取宏块报头的指令,处理就会中断。然而,如果编译器确实使用了循环展开技术,则重复读取指令的地址发生改变,从而所读取的指令可以根据循环展开的程度而具有不同的地址。换言之,一个特定指令可以具有多个地址。根据现有技术,如果无论何时报头读取指令出现就必须断开对DCT系数的处理,则需要大量指令断点寄存器来对多个循环内的读取指令的不同地址进行编程。在编译时间内,所需的断点寄存器的个数取决于循环展开的程度。因此,对这种指令执行的检测需要额外的断点寄存器,从而导致硬件成本增加。
图2示出了根据第二实施例的环形缓冲器或FIFO缓冲器的表示。这里,针对自我更新的硬件断点来描述本发明的原则,以检测特定数据的出现。第二实施例基于与第一实施例相同的构架和原则。FIFO缓冲器典型地具有以作为2的幂的字节为单位的大小,即,64、128、256等。另一方面,处理的数据分组大小可以是任何大小,从而FIFO的大小不必是分组大小的整数倍。根据图2的FIFO具有128字节的大小,而数据分组大小是50字节。数据分组的前两个字节属于报头部分H1、H2。第一和第二数据分组D1、D2以及第三数据分组D3的一部分可以容纳于一个FIFO内。在访问报头H1、H2时,插入断点,以分析系统的状态。由于报头H1、H2出现在位置0和1;50和51;100和101等处,所以根据现有技术的断点寄存器的使用耗时很多。应当注意,这些数目和大小仅用于示例,而并不限制实施例。
然而,根据第二实施例,使用根据图1的基址寄存器BAR、偏移量寄存器OR和逻辑算术单元LAU来执行对报头H1、H2的访问的检测。这里,最初将基址寄存器BAR设为0,以及将偏移量寄存器OR设为50,即,表示数据分组大小,因而表示报头的重复模式。然后,通过模运算单元MOU,以FIFO大小为模,对来自基址寄存器BAR和偏移量寄存器OR的地址之和(由加法器ADD相加)执行模运算。将输出用于更新基址寄存器BAR。由于数据分组D1、D2、D3的大小和FIFO的大小,后续地址可以落入基址和偏移量之和相对于FIFO大小的模中。然而,本发明的原则还可以应用于具有与数据分组大小的精确整数倍相对应的大小的FIFO。
根据本发明的第三实施例,可以将根据图1的本发明的原则和构架应用于指令断点。这里,根据循环展开的程度,通过逻辑算术单元LAU将基址寄存器BAR的内容与偏移量寄存器OR(例如环形计数器)的内容相加。作为示例,循环展开的程度可以认为是4。存储在基址寄存器BAR中的基址是0x100,以及偏移量是0x20。后续基址是0x100+0x20,0x120+0x20,0x140+0x20,0x160+0x20→0x100依此类推。因此,在执行0x100,0x120,0x140和0x160处的指令时,出现断点。根据现有技术的调试方法需要4个用于调试的断点寄存器。然而,根据第三实施例的调试器仅需要基址寄存器BAR、偏移量寄存器OR和逻辑算术单元LAU以基于偏移量来计算相同指令的后续地址。将更新的地址存储在基址寄存器BAR中,从而将它设置为断点。
由于所需要的寄存器个数与循环展开无关,所以根据本发明的调试器装置DM对于通常在媒体或流应用程序中出现的较高程度的循环展开是特别有利的。
尽管已经参照包括模运算单元MOU和加法器ADD的逻辑算术单元LAU,对第一、第二和第三实施例进行了描述,但是逻辑算术单元LAU还可以由第一和第二逻辑算术运算来实现。更新的基址寄存器BAR与对基址寄存器BAR和偏移量寄存器OR的第一逻辑算术运算结果而执行的第二逻辑算术运算相对应。
本发明的上述原则还可以由电子设备而不是数据处理系统来实现。
应当注意,上述实施例示出而非限制了本发明,本领域技术人员将能够在不偏离所附权利要求的情况下设计许多可选实施例。在权利要求中,位于括号中的任何附图标记不应作为对权利要求的限制。单词“包括”并不排除与权利要求中列出的元件或步骤不同的元件或步骤的存在。元件之前的单词“a”或“an”并不排除多个这种元件的出现。在列举了多个装置的设备权利要求中,这些装置中的多个可以由硬件的同一项具体实现。特定措施存在于相互不同的从属权利要求中这一事实并未指示不能有利地使用这些措施的组合。
此外,权利要求中的任何附图标记不应构成对权利要求范围的限制。

Claims (4)

1.一种数据处理系统,包括:
至少一个处理单元(PU),用于处理应用程序;以及
调试器装置(DM),用于基于多个断点来对所述至少一个处理单元(PU)的处理进行调试,所述调试器装置(DM)包括:
第一断点寄存器(BAR),用于存储所述多个断点之一的基址,其中,所述调试器装置(DM)基于存储在基址寄存器(BAR)中的地址,发起对所述至少一个处理单元(PU)的处理的调试,
第二断点寄存器(OR),用于存储断点相对于基址的偏移量,
逻辑算术单元(LAU),用于基于存储在第一断点寄存器(BAR)中的基址和存储在第二断点寄存器(OR)中的偏移量,重复地检测断点条件,并相应地更新存储在第一断点寄存器(BAR)中的基址。
2.如权利要求1所述的数据处理系统,还包括:存储器(MEM),用作具有与所述至少一个处理单元(PU)所处理的应用程序相关联的预定大小的FIFO,其中,所述逻辑算术单元(LAU)包括:加法器(ADD),用于将第一和第二断点寄存器(BAR、OR)的内容相加;以及模运算单元(MOU),用于以FIFO的预定大小为模,对加法器(ADD)的输出执行模运算,其中,所述模运算的结果与第一断点寄存器(BAR)中要更新的下一基址相对应。
3.一种在具有用于处理应用程序的至少一个处理单元(PU)的数据处理系统中进行调试的方法,包括以下步骤:
基于多个断点,对所述至少一个处理单元(PU)的处理进行调试,
存储多个断点之一的基址,其中,基于所存储的基址,发起对所述至少一个处理单元(PU)的处理的调试,
存储断点的偏移量,
基于所存储的基址、所存储的偏移量和逻辑算术运算,重复检测后续断点条件,以及
相应地更新所存储的基址。
4.一种电子设备,包括:
至少一个处理单元(PU),用于处理应用程序;以及
调试器装置(DM),用于基于多个断点,对所述至少一个处理单元(PU)的处理进行调试,所述调试器装置(DM)包括:
第一断点寄存器(BAR),用于存储多个断点之一的基址,其中,所述调试器装置(DM)基于存储在基址寄存器(BAR)中的地址,发起对所述至少一个处理单元(PU)处理的调试,
第二断点寄存器(OR),用于存储断点相对于基址的偏移量,
逻辑算术单元(LAU),用于基于存储在第一断点寄存器(BAR)中的基址和存储在第二断点寄存器(OR)中的偏移量,重复检测断点条件,并相应地更新存储在第一断点寄存器(BAR)中的基址。
CNB2006800034213A 2005-01-28 2006-01-23 调试装置和方法 Expired - Fee Related CN100541446C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05100584.1 2005-01-28
EP05100584 2005-01-28

Publications (2)

Publication Number Publication Date
CN101142560A true CN101142560A (zh) 2008-03-12
CN100541446C CN100541446C (zh) 2009-09-16

Family

ID=36740877

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800034213A Expired - Fee Related CN100541446C (zh) 2005-01-28 2006-01-23 调试装置和方法

Country Status (5)

Country Link
US (1) US7788535B2 (zh)
EP (1) EP1844397A2 (zh)
JP (1) JP2008529148A (zh)
CN (1) CN100541446C (zh)
WO (1) WO2006079962A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063367A (zh) * 2010-10-29 2011-05-18 凌阳科技股份有限公司 针对当机程序的离线分析方法及装置
CN102096629A (zh) * 2009-12-14 2011-06-15 华为技术有限公司 经过性断点设置、调试方法和装置
CN102193860A (zh) * 2010-03-10 2011-09-21 上海海尔集成电路有限公司 微控制器在线调试电路及方法、微控制器
CN106681897A (zh) * 2015-11-06 2017-05-17 北京国双科技有限公司 一种代码调试方法及装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529996B2 (en) 2011-10-11 2016-12-27 Citrix Systems, Inc. Controlling mobile device access to enterprise resources
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US8806570B2 (en) 2011-10-11 2014-08-12 Citrix Systems, Inc. Policy-based application management
US8843790B2 (en) 2012-07-27 2014-09-23 International Business Machines Corporation Dynamic hardware watchpoint
US8613070B1 (en) 2012-10-12 2013-12-17 Citrix Systems, Inc. Single sign-on access in an orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20140109171A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
EP2909715B1 (en) 2012-10-16 2022-12-14 Citrix Systems, Inc. Application wrapping for application management framework
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9170920B2 (en) * 2013-03-26 2015-10-27 International Business Machines Corporation Identifying and tagging breakpoint instructions for facilitation of software debug
US9455886B2 (en) 2013-03-29 2016-09-27 Citrix Systems, Inc. Providing mobile device management functionalities
US8813179B1 (en) 2013-03-29 2014-08-19 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US8849978B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing an enterprise application store
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US20140297840A1 (en) 2013-03-29 2014-10-02 Citrix Systems, Inc. Providing mobile device management functionalities
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
JP2015069220A (ja) * 2013-09-26 2015-04-13 富士通株式会社 性能評価プログラム生成装置、方法、及びプログラム
US9626265B2 (en) 2015-06-29 2017-04-18 International Business Machines Corporation Efficiency of cycle-reproducible debug processes in a multi-core environment
CN105676808B (zh) * 2015-12-31 2018-06-26 北京四方继保自动化股份有限公司 一种工业控制系统逻辑断点调试功能的实现方法
US10191836B2 (en) 2016-12-28 2019-01-29 Nxp Usa, Inc. Software watchpoints apparatus for variables stored in registers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748556A (en) * 1985-05-28 1988-05-31 Tektronix, Inc. Variable tracking word recognizer for detecting the occurrence of a dynamic-variable address
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
DE69616917T2 (de) * 1995-08-30 2002-06-06 Motorola Inc Datenprozessor mit eingebauter Emulationsschaltung
JPH09218801A (ja) 1995-08-30 1997-08-19 Motorola Inc データプロセッサ
US5704034A (en) * 1995-08-30 1997-12-30 Motorola, Inc. Method and circuit for initializing a data processing system
US5812850A (en) * 1995-11-13 1998-09-22 Object Technology Licensing Corp. Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution
US5903718A (en) * 1996-09-16 1999-05-11 International Business Machines Corporation Remote program monitor method and system using a system-under-test microcontroller for self-debug
US6314530B1 (en) * 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6192427B1 (en) 1997-05-02 2001-02-20 Texas Instruments Incorporated Input/output buffer managed by sorted breakpoint hardware/software
US6480818B1 (en) * 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6757846B1 (en) * 2000-11-06 2004-06-29 Xilinx, Inc. Method and apparatus for multi-bus breakpoint stepping

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096629A (zh) * 2009-12-14 2011-06-15 华为技术有限公司 经过性断点设置、调试方法和装置
WO2011072565A1 (zh) * 2009-12-14 2011-06-23 华为技术有限公司 经过性断点设置、调试方法和装置
CN102096629B (zh) * 2009-12-14 2013-09-25 华为技术有限公司 经过性断点设置、调试方法和装置
US8555256B2 (en) 2009-12-14 2013-10-08 Huawei Technologies, Co., Ltd. Pass-by breakpoint setting and debugging method and device
CN102193860A (zh) * 2010-03-10 2011-09-21 上海海尔集成电路有限公司 微控制器在线调试电路及方法、微控制器
CN102193860B (zh) * 2010-03-10 2015-04-22 上海海尔集成电路有限公司 微控制器在线调试电路及方法、微控制器
CN102063367A (zh) * 2010-10-29 2011-05-18 凌阳科技股份有限公司 针对当机程序的离线分析方法及装置
CN102063367B (zh) * 2010-10-29 2013-07-17 凌阳科技股份有限公司 针对当机程序的离线分析方法及装置
CN106681897A (zh) * 2015-11-06 2017-05-17 北京国双科技有限公司 一种代码调试方法及装置

Also Published As

Publication number Publication date
JP2008529148A (ja) 2008-07-31
CN100541446C (zh) 2009-09-16
WO2006079962A3 (en) 2007-04-26
US7788535B2 (en) 2010-08-31
US20090217095A1 (en) 2009-08-27
WO2006079962A2 (en) 2006-08-03
EP1844397A2 (en) 2007-10-17

Similar Documents

Publication Publication Date Title
CN100541446C (zh) 调试装置和方法
US7200776B2 (en) System and method for generating trace data in a computing system
Carreira et al. Xception: Software fault injection and monitoring in processor functional units
US10007592B2 (en) Debugging non-deterministic embedded systems
US6718294B1 (en) System and method for synchronized control of system simulators with multiple processor cores
CN100481021C (zh) 用于标识计算机程序的未响应部分的方法、系统和装置
US6167358A (en) System and method for remotely monitoring a plurality of computer-based systems
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
EP0272036A2 (en) Methods and apparatus for providing a microprocessor test interface
CN104205064A (zh) 将程序事件记录事件向运行时间检测事件的变换
CN104169889A (zh) 在事务执行模式中的运行时间检测采样
US8495344B2 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
CN101084485A (zh) 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
US20090248390A1 (en) Trace debugging in a hardware emulation environment
US8819496B2 (en) Apparatus for collecting trace information and processing trace information, and method for collecting and processing trace information
CN104169888A (zh) 运行时间仪表定向采样
CN101286129A (zh) 嵌入式系统调试
CN104657247A (zh) 基于jtag调试方式实现通用型故障注入系统和故障注入方法
Da Silva et al. LEON3 ViP: a virtual platform with fault injection capabilities
US20080127118A1 (en) Method and system for dynamic patching of software
CN101681287B (zh) 处理器动作检查系统及动作检查电路
Schulz et al. Owl: next generation system monitoring
CN101784905B (zh) 用于对片上系统的制造进行控制的设计信息的验证
US6370589B1 (en) Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer
Genius Measuring memory access latency for software objects in a NUMA system-on-chip architecture

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090916

Termination date: 20140123