CN101213523A - 调试辅助装置及用于在计算机中执行调试处理方法的程序 - Google Patents
调试辅助装置及用于在计算机中执行调试处理方法的程序 Download PDFInfo
- Publication number
- CN101213523A CN101213523A CNA2007800000762A CN200780000076A CN101213523A CN 101213523 A CN101213523 A CN 101213523A CN A2007800000762 A CNA2007800000762 A CN A2007800000762A CN 200780000076 A CN200780000076 A CN 200780000076A CN 101213523 A CN101213523 A CN 101213523A
- Authority
- CN
- China
- Prior art keywords
- processed
- debugging
- thread
- units
- units device
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种调试辅助装置,在调试处理由多个单位处理器(P0~P3)组成的多处理器的调试辅助装置中,在线调试器(201),当由多个单位处理器(P0~P3)执行的线程中,由于一部分线程的断点,发生了软件的异常处理时,使执行发生了异常处理线程的单位处理器和执行其他线程的单位处理器同时停止,在被停止的至少一个单位处理器上,检测有关被停止的多个单位处理器(P0~P3)的状态的调试信息,执行调试处理。
Description
技术领域
本发明涉及用于调试处理程序的调试辅助装置及用于在计算机中执行调试处理方法的程序,特别是涉及调试处理在具备多个处理器的多处理器形式的处理器中被执行的程序的调试辅助装置及用于在计算机中执行调试处理方法的程序。
背景技术
现在,在计算机的软件开发中使用一种被称为调试器的工具。调试器用于使计算机的处理器、存储器模拟的动作,使计算机具有程序的中断、断点的设定、单步执行的功能。调试器有只用软件安装的在线调试器和与硬件组合安装的ICE(In-Circuit Emulator)。
ICE虽然高性能,但价格也高。另外,在线调试器与ICE相比虽然很便宜,但还不具有与ICE同等的性能。
利用调试器,在程序中设定被称为断点的程序中断功能。当断点被执行时,起动调试器,在调试器起动的时刻,可参照处理器具备的寄存器、存储器、I/O,进行变更。
然而,近年来,有组合多个处理器,使多个处理器并行动作的处理器。这样的处理器有多线程处理器、多处理器。在本说明书中,将组合多线程处理器、多处理器等的多个处理器的处理器进行统称,记为多处理器系统。
在辅助多处理器系统的调试作业的情况下,存在当1个处理器中发生断点时,也停止其他的处理器,把握在多处理器系统中被执行的全部处理器的程序状态的技术。作为这样的以往技术,例如有专利文献1。
专利文献1,当作为调试器对象的处理器到达断点、发出停止信号时,停止系统时钟。另外,在此时刻使系统全体的全部构成要素的动作同时停止,读出停止时的全部处理器的存储器、寄存器的内容、其他的硬件模块的寄存器的内容等。这样的专利文献1,当发生了断点时,不光是处理器,也能观测包含其他硬件模块的系统内的动作状况。
专利文献1:特开平5-313946号公报
然而,专利文献1的发明,由于断点命令会引起软件的发生异常,时钟控制部停止系统时钟,所以在一次的处理中不能停止多个处理器。另外,处理器的停止在机器周期的断点等处进行。由此,在多处理器系统调试辅助领域中,期望更有效地使发生了断点的处理器和其他处理器停止时刻一致的技术。
发明内容
本发明正是鉴于以上的问题而提出的,其目的在于,提供一种能够几乎同时且有效地停止多处理器系统中包含的多个处理器,适用于能够把握断点发生时的各处理器状态的多处理器系统的调试辅助装置及用于在计算机中执行调试处理方法的程序。
为了解决以上的问题,本发明的调试辅助装置,对由多个单位处理器组成的多处理器进行调试处理,多个上述单位处理器,按每个线程执行程序,且具备:单位处理器停止机构,其通过在上述线程中一部分线程由于断点而发生软件的异常处理时,使多个上述单位处理器中的任一个执行让执行了发生异常处理线程的单位处理器以及执行其他的线程的单位处理器停止的处理而实现;和调试执行机构,其执行检测有关由上述单位处理器停止机构停止的多个上述单位处理器的状态的信息的调试处理。
另外,本发明的调试辅助装置,上述调试执行机构,在执行了发生异常处理的线程的单位处理器中,执行上述调试处理。
另外,本发明的调试辅助装置,上述调试执行机构,在执行了发生异常处理的线程的单位处理器以外的单位处理器上,执行上述调试处理。
另外,本发明的调试辅助装置,具备单位处理器选择机构,其选择由上述调试执行机构组成的上述调试处理执行中使用的单位处理器,该单位处理器选择机构,选择在线程的处理中还未被使用的单位处理器。
另外,用于在计算机中执行本发明的调试处理方法的程序,用于在计算机中执行调试处理方法,该调试处理方法适用于对由多个单位处理器组成的多处理器进行调试处理的调试辅助装置,调试处理方法包括:单位处理器停止步骤,当通过多个上述单位处理器,按每个线程执行的程序的一部分发生了由断点引起软件的异常处理时,使多个所述单位处理器中的任一个执行让执行了发生异常处理线程的单位处理器以及执行其他的线程的单位处理器停止的处理;和调试执行步骤,其执行调试处理,用来检测由上述单位处理器停止步骤所停止的多个上述单位处理器的状态相关信息。
附图说明
图1是用于说明本发明的实施方式1、实施方式2的调试辅助装置的方框图。
图2是图1所示的在线调试器的功能方框图。
图3是用于说明在本发明的实施方式1的多处理器上执行的多个线程和在线调试器的关系的图。
图4是用于说明用于在计算机上执行图3说明的实施方式1的调试辅助方法的程序的流程图。
图5是用于说明用于在计算机上执行图3中说明过的本发明的实施方式1的调试辅助方法的程序的其他的流程图。
图6是用于说明在本发明的实施方式2的多处理器上执行的多个线程和在线调试器的关系的图。
图7是用于说明用于在计算机上执行本发明的实施方式2的调试辅助方法的程序的流程图。
图8是用于说明用于在计算机上执行本发明的实施方式2的调试辅助方法的程序的其他的流程图。
具体实施方式
以下,参照附图,说明关于本发明的调试辅助装置及用于在计算机上执行调试处理方法的程序的实施方式1、实施方式2。
(实施方式1)
图1是本发明的实施方式1、实施方式2通用的图,是用于说明调试辅助装置的方框图。图示的调试辅助装置,适用于由多个单位处理器组成的多处理器系统。
实施方式1中例举的多处理器系统,具备多个处理器(由于是构成多处理器系统的处理器,所以记为单位处理器)P0~P3。单位处理器P0~P3,以将共用存储器102共用那样,构成被组合的多处理器。还有,将多处理器的只处理器的部分,作为处理器部101在图中进行了表示。
单位处理器P0~P3,具有各个状态寄存器(PSR)。PSR是存储单位处理器P0~P3的状态的寄存器。所谓状态,例如单位处理器的中断的可否状态、单位处理器的溢出的发生状态等,是存储有关单位处理器状态的信息的寄存器。
另外,在多处理器中执行的程序,以线程单位分配,单位处理器P0~P3,按每个线程都执行程序。还有,线程的语句,指程序的单位,同时也指本说明书中线程单位的程序。
实施方式1的调试辅助装置,当通过单位处理器P3执行的线程中,由于其一部分线程的断点发生了软件的异常处理时,具备与执行了发生异常处理线程的单位处理器一起使执行其他线程的单位处理器同时停止的在线调试器201。
在线调试器201,是以处理器部101为目标,辅助程序的错误的发现、修正的软件,被保存在共用存储器102中。对于在线调试器201的指示,通过未图示的软件,PC变为调试器加以实施。
实施例1的调试辅助装置,可只由在线调试器201和PC的软件构成。因此,实施方式1的调试辅助装置,与使用了硬件装置的调试器相比,能够很便宜地制造出来。
在线调试器201上被插入了用于强制停止线程的执行的强制执行停止代码(断点命令)。由单位处理器P0~P3组成的线程的处理,在断点命令执行时,通过在线调试器201中止。在本说明书中,线程的执行中止也记为软件的异常处理。
还有,线程的执行中止,通过对单位处理器P0~P3的中断来实施。在实施例1中,用于中断的中断表格103,保存在共用存储器102上。
还有,中断表格103是按照中断的顺序管理中断处理的表格。多处理器未图示的中断控制部,在根据中断处理、处理中线程的优先度请求的中断上,附以序号,追加到中断表格103中。这样的中断表格103,也被用于对于多处理器的其他的中断中。
图2是在线调试器201的功能方框图。在线调试器201具备中断控制部203和调试信息检查部204。中断控制部203是参照中断表格103,对单位处理器P0~P3进行中断处理的程序。调试信息检查部204,是在被停止的单位处理器P0~P3的至少一个上,检测有关被停止的多个处理器的状态的信息(以下记为调试信息)的程序。这样的在线调试器201,在实施方式1中发挥作为单位处理器停止机构及调试执行机构的功能。
调试的执行,通过调试信息检查部204访问状态寄存器R0~R3、将调试信息保存到共用存储器102上来实施。为了调试的执行,实施方式1的调试辅助装置,在共用存储器102内具备由在线调试器201管理的管理区域106。在共用存储器102内的管理区域106,也可参照单位处理器P0~P3中的任意一个。
在管理区域106上,存在写入表示在线调试器201的状态的起动标志的起动标志区域,和写入被检测的单位处理器P0~P3的信息的寄存器区域。
图3是用于说明在多处理器上执行的多个线程和在线调试器的实施方式1中的关系的图。在实施方式1中,如图所示那样,在线调试器201,在执行发生了异常处理线程的单位处理器以外的单位处理器上,执行调试处理。
也就是说,在图3的例子中,在多处理器上执行线程1(线程S1)、线程2(线程S2)、线程3(线程S3)。在实施方式1中,在线程S1上发生了软件的异常,在线调试器201在线程S2上起动。
线程S2通过异常的发生,使在线调试器201起动,使线程S1、线程S3停止的同时,本线程也停止。在线调试器201,等待执行线程S1、线程S3的处理器的停止,执行在线调试。在线调试器201,可通过在线调试,参照记录在线程S1、线程S3的状态寄存器等上的信息,把握断点处的多个线程的状态。
在线调试器的动作结束后,在线调试器201,再起动线程S1、线程S2、线程S3的处理。执行了线程S1的单位处理器、执行了线程S3的单位处理器,在在线调试器201引起的再起动处理的之前的期间t,处于停止。
图4、图5是用于说明用于在计算机中执行图3说明的本发明的实施方式1的调试辅助方法的程序的流程图。图4表示了从断点到执行在线调试的处理。另外,图5是用于说明从在线调试结束到返回发生异常以前的处理所执行的程序的流程图。
本实施方式的多处理器,当在多处理器的任意一个线程中执行断点时,通过在线调试器201进行控制。在线调试器201,在多处理器上的线程的任意一个上执行。
在实施方式1中,使用多个线程中未进行处理的空线程,使在线调试器201动作。这样的实施方式1,起到能够有效地活用线程及处理线程的单位处理器的效果。
还有,空线程的检测,例如可通过在线调试器201的调试信息检查部204,定期地检查单位处理器P0~P3的状态寄存器R0~R3,测试状态寄存器变成了HALT状态的单位处理器。
象上述那样的构成时,主要是调试信息检查部204,发挥作为单位处理器选择机构的功能。
在多处理器所具备的多个单位处理器中,当在一个单位处理器(单位处理器P0)上发生软件异常时,在处于HALT状态的其他单位处理器(单位处理器P1)上被处理的线程的控制,转移到在线调试器201上(S301)。
单位处理器P1,将保存在状态寄存器R1、程序计数器(未图示)等上的信息,保存到管理区域106的寄存器区域上(S302)。而且,判断在线调试器201是否已经被起动(S303)。还有,此判断,参照写入到管理区域106的起动标志区域的起动标志进行。
当起动标志表示了在线调试器已起动时(S303:Yes),在线调试器201中止处理。
另一方面,当在线调试器201还未起动时(S303:Yes)、在起动标志区域上写入表示在线调试器201起动的标志(S304)。中断控制部203,中断控制部203,向单位处理器P1以外的单位处理器(其他的处理器)请求中断处理、停止(S305)。而且,参照单位处理器P0、P2、P3的状态寄存器,判断单位处理器P0、P2、P3是否已停止(S306)。
当步骤S306的判断结果,判断单位处理器P0、P2、P3已停止时(S306:Yes),在线调试器201,在单位处理器P1上执行调试动作(S307)。
另外,如图5所示,调试处理结束后,在线调试器201,向单位处理器P0、P2、P3请求动作的执行(再起动)(S501)。而且,清除起动标志区域上被写入的起动标志(S502)。还有,使保存的调试信息等返回到状态寄存器R1中等,使单位处理器P1返回到软件发生异常之前的状态(S503)。
以上所述的实施方式1,在发生了异常处理时刻,在一次的处理中几乎同时停止了包含在多处理器中的多个单位处理器P0~P3,并能够检测各单位处理器的信息。因此,能够几乎同时停止包含在多处理器系统中的多个单位处理器,把握断点发生时的各处理器的状态。另外,由于实施方式1能够在一次的处理中使多个单位处理器停止,所以能够有效地进行单位处理器停止的处理。
另外,实施方式1通过在单位处理器P0~P1中进行中断处理,使线程的执行停止。因此,能够从发生异常开始,迅速地停止线程。这样的实施方式1,能够更加有效地提高停止多个单位处理器的处理的效率。
(实施方式2)
以下,针对本发明的实施方式2,进行说明。实施方式2的调试辅助装置,具有与实施方式1中说明的调试辅助装置相同的构成。因此,在实施方式2中,省略了一部分调整辅助装置构成的图示及其说明。
实施方式2的调试辅助装置,在线调试器在执行了发生异常处理的线程的单位处理器上,执行调试处理这点上,与实施方式1不同。
图6是用于说明在多处理器上执行的多个线程和在线调试器的实施方式2中的关系的图。在实施方式2中,如图示那样,在线调试器201,在执行了发生异常处理的线程的单位处理器上,执行调试处理。
也就是说,在图6的例子中,在多处理器上执行线程1(线程S1)、线程2(线程S2)、线程3(线程S3)。在图6的例子中,在线程S1上发生了软件的异常,在线调试器201在线程S1上起动。
线程S1通过异常的发生,使在线调试器201起动,使线程S2、线程S3停止的同时,本线程也停止。在线调试器201,等待执行线程S2、线程S3的处理器的停止,执行在线调试。在线调试器201,通过在线调试,参照记录在线程S2、线程S3的状态寄存器等上的信息,能够把握断点处的多个线程的状态。
在线调试器的动作结束后,在线调试器201,再起动线程S1、线程S2、线程S3的处理。执行线程S2的单位处理器、执行线程S3的单位处理器,在在线调试器201引起的再起动处理之前的期间,处于停止。
图7、图8是用于说明用于在计算机中执行图6说明的本发明的实施方式2的调试辅助方法的程序的流程图。图7(a)表示了从起动在线调试器的单位处理器(单位处理器P0)断点到执行在线调试的处理。另外,(b)是用于说明在单位处理器P0上,从在线调试结束到返回到发生异常以前的处理中所执行的程序的流程图。
图8(a)表示了从单位处理器P0以外的单位处理器P1~P3的断点到执行在线调试的处理。另外,(b)是用于说明在单位处理器P1~P3上,从在线调试结束到返回到发生异常以前的处理中所执行的程序的流程图。
当在单位处理器P0上发生软件的异常时,在单位处理器P0上被处理的线程的控制转移到在线调试器201上(S701)。
在线调试器201,将保存在状态寄存器R0、程序计数器(未图示)等上的信息,保存到管理区域106的寄存器区域上(S702)。而且,在起动标志区域上写入表示在线调试器201起动的标志(S703)。中断控制部203,向单位处理器P0以外的单位处理器(其他的处理器)请求中断处理、停止(S704)。而且,参照单位处理器P1、P2、P3的状态寄存器,判断单位处理器P1、P2、P3是否已停止(S705)。
当步骤S705的判断结果,判断单位处理器P1、P2、P3已停止时(S705:Yes),在线调试器201,在单位处理器P0上执行调试动作(S706)。
另外,如图7(b)所示,调试处理结束后,在线调试器201,向单位处理器P1、P2、P3请求动作的执行(再起动)(S710)。而且,清除起动标志区域上被写入的起动标志(S711)。还有,使保存的调试信息等返回到状态寄存器R0中,使单位处理器P0返回到软件发生异常之前的状态(S713)。
另外,单位处理器P0以外的单位处理器P1~P3,如图8(a)所示,通过在线调试器201停止。停止后,单位处理器P1~P3的控制,转移到在线调试器201中(S801)。接着,在线调试器201,将保存在状态寄存器R0、程序计数器(未图示)等上的信息保存到管理区域106的寄存器区域上(S802),结束处理。
如图8(b)所示,单位处理器P0上的调试处理结束后,单位处理器P1~P3,根据在线调试器201的请求,使调试信息等返回到状态寄存器R1~R3上等(S810)。通过此处理,处理器P1~P3,返回到发生软件异常以前的状态(S811)。
以上所述的实施方式2,选择线程的处理中未被使用的单位处理器作为调试处理的执行中使用的单位处理器。由此,能够降低由于调试被停止的线程的数目,缩短调试花费的时间等,更加提高调试的效率。
还有,在计算机中执行图4~图8所述的调试处理方法的程序,利用可安装形式或可执行形式的文件,记录在CD-ROM、软盘(注册商标)(FD)、DVD等的计算机可读取的记录媒体上进行提供。另外,也可使在计算机上执行本实施方式的调试处理方法的程序,存储在连接因特网等的网络的计算机上,通过经由网络下载进行提供那样构成。还有,用于在计算机上执行本实施方式的调试处理方法的程序,也可记录在用计算机可读取的ROM、闪存器、存储卡、USB连接型闪存器等的存储设备上加以提供。
产业上的可用性
通过本发明,当通过多个单位处理器执行的多个线程中,由于一部分线程的断点发生了软件的异常处理时,能够与执行了发生异常处理的线程的单位处理器一起使执行其他线程的单位处理器同时停止。而且,能够执行检测有关被停止的多个单位处理器的状态的信息的调试处理。
因此,在发生了异常处理的时刻,能够几乎同时停止多处理器中包含的多个单位处理器,检测各单位处理器的信息。这样的发明,可以说几乎同时且有效地停止多处理器系统中包含的多个处理器,提供能够把握断点发生时的各单位处理器的状态的调试辅助装置。
另外,可去掉选择充当调试处理的单位处理器的处理,在发生异常后马上起动调试器。
另外,也可选择对执行调试处理适当的单位处理器,执行调试处理。通过选择适当的单位处理器,能够更加提高多处理器的调试效率。
另外,能够降低由于调试被停止的线程的数目,更加提高多处理器的调试的效率。
另外,通过本发明,当通过多个单位处理器执行的多个线程中,由于一部分线程的断点发生了软件的异常处理时,能够使执行了发生异常处理的线程的单位处理器和执行其他线程的单位处理器同时停止。而且,能够执行检测有关被停止的多个单位处理器的状态的调试处理
因此,在发生了异常处理的时刻,在一次的处理中几乎同时停止多处理器中所包含的多个单位处理器,检测各单位处理器的信息。这样的本发明,可以说几乎同时且有效地停止多处理器系统中所包含的多个处理器,能够提供用于在计算机中执行的能够正确地把握断点发生时的各处理器状态的调试辅助方法的程序。
Claims (5)
1.一种调试辅助装置,对由多个单位处理器组成的多处理器进行调试处理,
多个上述单位处理器,按每个线程执行程序,
上述调试辅助装置具备:单位处理器停止机构,其在上述线程中一部分线程由于断点而发生软件的异常处理时,使多个上述单位处理器中的任一个执行让执行了发生异常处理线程的单位处理器以及执行其他的线程的单位处理器停止的处理;和
调试执行机构,其执行调试处理,用来检测由上述单位处理器停止机构停止的多个上述单位处理器的状态的相关信息。
2.根据权利要求1所述的调试辅助装置,其特征在于,
上述调试执行机构,在执行了发生异常处理的线程的单位处理器中,执行上述调试处理。
3.根据权利要求1所述的调试辅助装置,其特征在于,
上述调试执行机构,在执行了发生异常处理的线程的单位处理器以外的单位处理器中,执行上述调试处理。
4.根据权利要求3所述的调试辅助装置,其特征在于,
具备单位处理器选择机构,其用于选择上述调试执行机构在上述调试处理的执行中所使用的单位处理器,
该单位处理器选择机构,选择在线程的处理中未被使用的单位处理器。
5.一种用于在计算机中执行调试处理方法的程序,该调试处理方法适用于对由多个单位处理器组成的多处理器进行调试处理的调试辅助装置,
调试处理方法包括:单位处理器停止步骤,当通过多个上述单位处理器按每个线程执行的程序的一部分中发生了由断点引起软件的异常处理时,使多个上述单位处理器中的任一个执行让执行了发生异常处理线程的单位处理器以及执行其他的线程的单位处理器停止的处理;和调试执行步骤,其执行调试处理,用来检测由上述单位处理器停止步骤所停止的多个上述单位处理器的状态的相关信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003529A JP4222370B2 (ja) | 2006-01-11 | 2006-01-11 | デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム |
JP003529/2006 | 2006-01-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101213523A true CN101213523A (zh) | 2008-07-02 |
Family
ID=38256336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800000762A Pending CN101213523A (zh) | 2006-01-11 | 2007-01-11 | 调试辅助装置及用于在计算机中执行调试处理方法的程序 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7992042B2 (zh) |
EP (1) | EP1855205A4 (zh) |
JP (1) | JP4222370B2 (zh) |
KR (1) | KR20070091047A (zh) |
CN (1) | CN101213523A (zh) |
WO (1) | WO2007080931A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739336A (zh) * | 2008-11-12 | 2010-06-16 | 恩益禧电子股份有限公司 | 调试系统、调试方法和调试控制方法 |
CN102124442A (zh) * | 2008-08-20 | 2011-07-13 | 飞思卡尔半导体公司 | 用于在多线程数据处理系统中使用的调试指令 |
CN102648449A (zh) * | 2009-09-29 | 2012-08-22 | 辉达公司 | 用于并行处理单元的陷阱处理器架构 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8656145B2 (en) * | 2008-09-19 | 2014-02-18 | Qualcomm Incorporated | Methods and systems for allocating interrupts in a multithreaded processor |
US8140832B2 (en) * | 2009-01-23 | 2012-03-20 | International Business Machines Corporation | Single step mode in a software pipeline within a highly threaded network on a chip microprocessor |
US8060783B2 (en) * | 2009-02-20 | 2011-11-15 | International Business Machines Corporation | Distributed runtime diagnostics in hierarchical parallel environments |
KR20110065067A (ko) * | 2009-12-09 | 2011-06-15 | 삼성전자주식회사 | 멀티 쓰레드 테스팅시 발생되는 에러 정보에 대한 비주얼 인터페이스를 제공하는 장치 및 방법 |
US8504875B2 (en) * | 2009-12-28 | 2013-08-06 | International Business Machines Corporation | Debugging module to load error decoding logic from firmware and to execute logic in response to an error |
US8719797B2 (en) * | 2010-05-18 | 2014-05-06 | Blackberry Limited | System and method for debugging dynamically generated code of an application |
DE112011104709B4 (de) * | 2011-01-12 | 2017-05-18 | Toyota Jidosha Kabushiki Kaisha | Online-Fehlerbereinigungssystem und Online-Fehlerbereinigungsverfahren für Informationsverarbeitungsvorrichtung |
GB2487575B (en) | 2011-01-28 | 2017-04-12 | Advanced Risc Mach Ltd | Controlling generation of debug exceptions |
US8694832B2 (en) * | 2011-03-03 | 2014-04-08 | International Business Machines Corporation | Assist thread analysis and debug mechanism |
WO2013061369A1 (en) * | 2011-10-26 | 2013-05-02 | Hitachi, Ltd. | Information system and control method of the same |
EP2962205B1 (de) | 2013-04-09 | 2018-06-20 | Siemens Aktiengesellschaft | Mehrkern-prozessorsystem mit fehleranalysefunktion |
US9684578B2 (en) | 2014-10-30 | 2017-06-20 | Qualcomm Incorporated | Embedded universal serial bus (USB) debug (EUD) for multi-interfaced debugging in electronic systems |
US10102050B2 (en) | 2015-02-05 | 2018-10-16 | Microchip Technology Incorporated | System and method for generating cross-core breakpoints in a multi-core microcontroller |
KR102450553B1 (ko) | 2015-06-04 | 2022-10-05 | 삼성전자주식회사 | 저장 장치 및 그것을 내장한 메인 보드 및 그것의 자가 진단 방법 |
US10606679B2 (en) * | 2017-12-04 | 2020-03-31 | Arm Limited | Debug apparatus and method |
GB2580136B (en) | 2018-12-21 | 2021-01-20 | Graphcore Ltd | Handling exceptions in a multi-tile processing arrangement |
GB2583574B (en) * | 2018-12-21 | 2021-05-19 | Graphcore Ltd | Handling Exceptions in a Multi-Tile Processing Arrangement |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
JPH05313946A (ja) | 1992-05-06 | 1993-11-26 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステムのデバグ支援装置 |
ATE365530T1 (de) * | 1992-07-13 | 2007-07-15 | Shiseido Co Ltd | Retinolthaltiges, stabilisiertes hautpflegemittel zur äusserlichen anwendung |
JP2522158B2 (ja) | 1993-05-25 | 1996-08-07 | 日本電気株式会社 | マルチプロセッサシステムのプログラムデバッグ方法 |
US5721931A (en) * | 1995-03-21 | 1998-02-24 | Advanced Micro Devices | Multiprocessing system employing an adaptive interrupt mapping mechanism and method |
JP2677249B2 (ja) | 1995-04-28 | 1997-11-17 | 日本電気株式会社 | マルチプロセッサシステムのプログラムデバッグ方法およびデバッガ |
JP2737724B2 (ja) | 1995-10-09 | 1998-04-08 | 日本電気株式会社 | プロセッサ間nmi通信装置およびシステムバスコントローラ |
US6112298A (en) * | 1996-12-20 | 2000-08-29 | Texas Instruments Incorporated | Method for managing an instruction execution pipeline during debugging of a data processing system |
JPH10333938A (ja) | 1997-06-04 | 1998-12-18 | Toshiba Corp | 計算機システムにおける実行ログの記録、表示方法、ならびに同方法を用いた計算機システム、及び同方法がプログラムされ記録される記録媒体 |
US6016555A (en) * | 1997-11-19 | 2000-01-18 | Texas Instruments Incorporated | Non-intrusive software breakpoints in a processor instruction execution pipeline |
US6418543B1 (en) * | 1998-07-14 | 2002-07-09 | Cisco Technology, Inc. | Apparatus and method for debugging source code |
CA2246270C (en) * | 1998-09-01 | 2003-09-23 | Ibm Canada Limited - Ibm Canada Limitee | Debugging multiple related processes simultaneously |
US6718294B1 (en) * | 2000-05-16 | 2004-04-06 | Mindspeed Technologies, Inc. | System and method for synchronized control of system simulators with multiple processor cores |
JP2002024196A (ja) | 2000-07-11 | 2002-01-25 | Fujitsu Ltd | プロセッサ制御方式 |
US7020871B2 (en) * | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
EP1365328B1 (en) * | 2001-02-28 | 2013-09-04 | Fujitsu Limited | Method for executing parallel process, and multi-processor computer |
US6859892B2 (en) * | 2001-04-25 | 2005-02-22 | Hewlett-Packard Development Company, L.P. | Synchronous breakpoint system and method |
US7131114B2 (en) * | 2001-07-16 | 2006-10-31 | Texas Instruments Incorporated | Debugger breakpoint management in a multicore DSP device having shared program memory |
US6857084B1 (en) * | 2001-08-06 | 2005-02-15 | Lsi Logic Corporation | Multiprocessor system and method for simultaneously placing all processors into debug mode |
JP2003223339A (ja) | 2002-01-30 | 2003-08-08 | Denso Corp | インサーキットエミュレータ |
IL151251A0 (en) * | 2002-08-14 | 2003-04-10 | Elta Systems Ltd | Parallel processing platform with synchronous system halt-resume |
US7100033B2 (en) * | 2002-10-23 | 2006-08-29 | Intel Corporation | Controlling the timing of test modes in a multiple processor system |
JP2004318658A (ja) | 2003-04-18 | 2004-11-11 | Matsushita Electric Ind Co Ltd | デバッグ制御装置及びその制御方法 |
US7444547B2 (en) * | 2003-06-19 | 2008-10-28 | International Business Machines Corproation | Method, system, and product for programming in a simultaneous multi-threaded processor environment |
JP4439235B2 (ja) | 2003-10-15 | 2010-03-24 | 富士通株式会社 | 動作試験装置および動作試験方法 |
US7363544B2 (en) * | 2003-10-30 | 2008-04-22 | International Business Machines Corporation | Program debug method and apparatus |
US7222264B2 (en) * | 2004-03-19 | 2007-05-22 | Intel Corporation | Debug system and method having simultaneous breakpoint setting |
US7353498B2 (en) * | 2004-04-29 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Multi-process debugger |
JP4834983B2 (ja) | 2004-12-09 | 2011-12-14 | 富士通株式会社 | Iceサーバ |
JP3870970B2 (ja) * | 2005-03-15 | 2007-01-24 | セイコーエプソン株式会社 | プロセッサ制御装置 |
JP3976065B2 (ja) * | 2006-01-16 | 2007-09-12 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム |
JP5243711B2 (ja) * | 2006-11-10 | 2013-07-24 | セイコーエプソン株式会社 | プロセッサ |
-
2006
- 2006-01-11 JP JP2006003529A patent/JP4222370B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-10 US US11/651,549 patent/US7992042B2/en not_active Expired - Fee Related
- 2007-01-11 WO PCT/JP2007/050267 patent/WO2007080931A1/ja active Application Filing
- 2007-01-11 EP EP07706614A patent/EP1855205A4/en not_active Withdrawn
- 2007-01-11 CN CNA2007800000762A patent/CN101213523A/zh active Pending
- 2007-01-11 KR KR1020077018139A patent/KR20070091047A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102124442A (zh) * | 2008-08-20 | 2011-07-13 | 飞思卡尔半导体公司 | 用于在多线程数据处理系统中使用的调试指令 |
CN102124442B (zh) * | 2008-08-20 | 2015-02-25 | 飞思卡尔半导体公司 | 用于在多线程数据处理系统中使用的调试指令 |
CN101739336A (zh) * | 2008-11-12 | 2010-06-16 | 恩益禧电子股份有限公司 | 调试系统、调试方法和调试控制方法 |
CN102648449A (zh) * | 2009-09-29 | 2012-08-22 | 辉达公司 | 用于并行处理单元的陷阱处理器架构 |
Also Published As
Publication number | Publication date |
---|---|
EP1855205A4 (en) | 2010-04-28 |
JP2007188147A (ja) | 2007-07-26 |
WO2007080931A1 (ja) | 2007-07-19 |
US20070180322A1 (en) | 2007-08-02 |
US7992042B2 (en) | 2011-08-02 |
KR20070091047A (ko) | 2007-09-06 |
EP1855205A1 (en) | 2007-11-14 |
JP4222370B2 (ja) | 2009-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101213523A (zh) | 调试辅助装置及用于在计算机中执行调试处理方法的程序 | |
JP3571976B2 (ja) | デバッグ装置及び方法並びにプログラム記録媒体 | |
WO2008101386A1 (fr) | Procédé de récupération d'une exception à noyau unique dans un système à plusieurs noyaux | |
JP2010086364A (ja) | 情報処理装置、動作状態監視装置および方法 | |
CN111124792A (zh) | 一种多核调试方法、装置及存储介质 | |
EP3123321A1 (en) | Software replayer for transactional memory programs | |
CN102708015A (zh) | 基于cpu不可屏蔽中断系统问题诊断的调试方法 | |
JP2008282308A (ja) | 協調検証装置、協調検証方法、協調検証プログラム | |
JP2004302731A (ja) | 情報処理装置および障害診断方法 | |
JP2006065440A (ja) | プロセス管理システム | |
JP4944368B2 (ja) | マルチプロセッサシステム、デバッグ方法、及びプログラム | |
JP4558376B2 (ja) | コントローラ | |
JP2009211625A (ja) | 情報処理装置の起動ログ保存方法 | |
JP2015118493A (ja) | トレース装置及びトレースプログラム | |
JP2011100300A (ja) | 計算機装置及び情報処理方法及びプログラム | |
JP4576433B2 (ja) | 情報処理装置、演算処理装置、情報処理装置の制御方法及びプログラム | |
JP4066950B2 (ja) | コンピュータシステムおよびその保守方法 | |
JP5832408B2 (ja) | 仮想計算機システム及びその制御方法 | |
JP2574938B2 (ja) | システム起動方式 | |
JP2017199180A (ja) | 画像処理装置 | |
US9342359B2 (en) | Information processing system and information processing method | |
JP2001051854A (ja) | 情報管理システム | |
JP2008217566A (ja) | ソフトウエアのデッドロック検出方式 | |
CN116225756A (zh) | 一种基于bios的内存故障检测和修复方法及系统 | |
JP2001350643A (ja) | マイクロコンピュータの制御方法及び異常監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |