CN111124792A - 一种多核调试方法、装置及存储介质 - Google Patents
一种多核调试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111124792A CN111124792A CN201911330251.5A CN201911330251A CN111124792A CN 111124792 A CN111124792 A CN 111124792A CN 201911330251 A CN201911330251 A CN 201911330251A CN 111124792 A CN111124792 A CN 111124792A
- Authority
- CN
- China
- Prior art keywords
- core
- interrupt
- cores
- processor
- debugging
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种多核调试方法、装置及存储介质,该方法包括:响应调试器的多核调试指令,并当处理器的任一核产生中断时,以该核作为目标核执行下述处理步骤:目标核指示处理器的其他核进入中断;目标核将当前上下文信息发送至调试器;目标核接收调试器的调试,并在恢复运行时指示处理器的其他核退出中断。本发明用于解决GDB调试器在进行多核调试时所面临的核间同步、核间通信、断点同步、临界资源互斥访问等问题,以实现稳定可靠的多核调试。
Description
技术领域
本发明涉及嵌入式系统技术领域,特别涉及一种多核调试方法、装置及存储介质。
背景技术
程序调试是将编写完成的计算机程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,必须送入计算机中测试。根据测试时所发现的错误,进一步诊断,找出原因和具体的位置进行修正。
多核处理器的出现给嵌入式系统带来了新的机遇,它的兴起为用户带来更强大的计算性能,可满足用户进行多任务处理和多任务计算环境的要求。然而,要想最大程度发挥多核处理器的上述优势,就需要解决多核程序调试技术所面临的各种问题,例如核间同步、核间通信、断点同步、临界资源互斥访问等。现有技术中,GDB调试器作为单核架构下首选的任务级调试器,在进行程序调试时,可按照用户需求在任意指定的断点处暂停,以供用户检查该程序的运行情况并进行相关调试。但GDB调试器在多核程序调试中,由于上述核间同步、核间通信、断点同步、临界资源互斥访问等问题的存在,通过原有的功能不能准确有效地反映出多核程序的信息,这使得它在多核嵌入式系统中发挥的作用变得非常有限。
发明内容
有鉴于此,本发明的主要目的在于提供一种多核调试方法、装置及存储介质,以解决GDB调试器在进行多核调试时所面临的核间同步、核间通信、断点同步、临界资源互斥访问等问题,以实现稳定可靠的多核调试。
本发明采用的技术方案为,一种多核调试方法,包括:
响应调试器的多核调试指令,并当处理器的任一核产生中断时,以该核作为目标核执行下述处理步骤:
目标核指示处理器的其他核进入中断;
目标核将当前上下文信息发送至调试器;
目标核接收调试器的调试,并在恢复运行时指示处理器的其他核退出中断。
由上,本方法通过在实时操作系统对单核调试的基础上,引入多核间通信机制,实现多核间的通信和运行状态的同步控制,在进行多核调试的过程中,当任一核产生中断时,通过发送处理器间中断指令同步中断其他核,并在完成对当前核的调试后,恢复运行的同时指示其他核退出中断处理程序,从而实现稳定可靠的多核调试。
优选的,处理器的任一核产生中断中的所述中断包括以下之一:
单步中断、触发预设条件的中断、断点异常中断。
由上,单步中断是在每执行一行语句后就停下来等待指示,断点异常中断是通过在需要暂停的地方设置一个断点,然后让程序运行,当执行到这个断点位置时不需要用户干预就会暂停并返回调试程序,此外还包括触发预设条件的中断,当满足预设条件时,即可产生中断,以便于调试器对指定核或所有核进行一些特殊操作。
优选的,所述目标核指示处理器的其他核进入中断之前还包括:
通过原子操作获取临界资源的访问资格,并设置内存屏障防止其他核的访问。
由上,目标核在访问临界资源时,通过原子操作和内存屏障进行临界资源的保护,防止其他核干扰目标核对临界资源的访问,同时也确定其他核处于等待状态,然后再由目标核发送中断指令控制其他核进入中断。
优选的,所述目标核将当前上下文信息发送至调试器之前还包括:控制目标核进入关中断模式,并设置网卡为可轮询收包模式;
相应的,所述指示其他核退出中断之后还包括:控制目标核进入开中断模式,并设置网卡为中断收包模式,恢复目标核中断前保存的上下文信息,使之继续运行目标核上的进程。
由上,目标核发送中断指令指示其他核进入中断状态后,此时需要将当前上下文信息发送至调试器进行调试,在发送之前需要接受调试器的退出中断指令,进入关中断状态,目标核与调试器之间的网卡也设置为轮询收包模式,以等待目标核发送的上下文信息;当目标核完成上下文信息的上报之后,即会进入等待状态,等待调试器调试完成并发送继续执行的指令后,即可根据该继续执行的指令恢复运行并同步指示其他核退出中断,此时目标核进入开中断状态,网卡进入收包模式,目标核恢复上下文信息,等待下一次中断的到来。
优选的,所述调试器为GDB。
由上,GDB是一个强大的命令行调试工具,具有修复网络断点以及恢复链接等功能,从而实现更多的调试功能。
优选的,所述指示处理器的其他核进入中断包括使处理器的其他核进入空转状态;相应的,
所述指示处理器的其他核退出中断包括使处理器的其他核退出空转状态。
由上,在多核调试下,当某个核发生中断时,通过核间通信和运行状态控制,去改变其他核的运行状态,例如放弃执行当前程序、重新调度程序运行、执行特殊代码或空转等,这将能更有利于调试跨多内核运行的程序间的交互状态。
优选的,所述指示为通过IPI指令进行。
由上,处理器间中断(Inter-Processor Interrupt,IPI)是一种特殊类型的中断,即在多处理器系统中,如果中断处理器需要来自其它处理器的动作,一个处理器向另一个处理器发出的中断行为。处理器间中断(IPI)是多核处理器结构非常重要的组成部分,利用它可以进行多核间的通信,有效地提升系统的效率。
优选的,还包括:当处理器的任一核产生中断时,通过多核状态控制技术获取该处理器中所有核的当前运行状态信息,定位该产生中断的核的位置,并将该核作为目标核。
由上,由于在多核调试下,存在核间同步问题,可通过多核状态控制技术获取处理器中所有核的运行状态信息,以定位产生中断的目标核的位置,在对该目标核进行调试过程中,也需要监控并改变其它核的运行状态,这将能更有利于调试跨多内核运行的程序间的交互状态,本方案中,对于多核调试的改变其他核的状态控制主要涉及到挂起所有核和恢复所有核,即目标核产生中断时需要同步挂起所有其他核,目标核退出中断时需要同步恢复所有其他核。
基于上述多核调试方法,本发明还提供了一种多核调试装置,包括:
调试器,用于对多核处理器进行调试;
第一触发模块,用于响应调试器的多核调试指令,并当处理器的任一核产生中断时,以该核作为目标核触发下述模块的运行;
核间中断触发模块,用于目标核指示处理器的其他核进入中断;
上下文上报模块,用于目标核将当前上下文信息发送至调试器;
核间中断退出模块,用于目标核在恢复运行时指示处理器的其他核退出中断。
由上,该多核调试装置可在多核调试时,由调试器进行控制指令和调试指令的收发,以控制目标核进入或退出中断状态,同时根据目标核上报的上下文信息进行相关调试,并下发指令控制目标核执行下一步指令,目标核通过IPI机制实现与其他核的同步运行。
优选的,所述调试器还用于通过多核状态控制技术对所有核的运行状态进行轮询监控,轮询到某个核产生中断时,将该核作为目标核并确定导致产生中断的类型,然后对目标核进行对应调试。
由上,该调试器通过对所有核的运行状态进行轮询监控,当目标核产生中断时,可采集该目标核的当前上下文信息和产生中断的标识信息,然后根据其标识信息即可确定目标核产生中断的类型,例如单步中断、触发预设条件的中断、断点异常中断,从而根据具体中断类型进行对应的调试,在调试完成后将其上下文信息恢复至目标核,使其继续运行。
基于上述多核调试方法,本发明还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述多核调试方法的步骤。
由上,该存储介质用于存储执行上述调试方法的计算机程序,为该调试方法提供了一个可执行的载体,便于推广使用。
附图说明
图1为本发明多核调试装置的模块图;
图2为本发明提供的多核调试方法的流程图;
图3为本发明宿主机与多核处理器建立调试关系的流程图;
图4为本发明多核处理器执行宿主机命令的流程图;
图5为本发明目标核执行异常处理函数的流程图。
具体实施方式
下面根据如图1-图5对本发明所述基于实时操作系统的多核调试方法的具体实施方式进行详细说明。
如图2所示,本发明实施例提供了一种多核调试方法,应用于如图1所示的多核调试装置,该多核调试装置包括宿主机和目标机,
该宿主机包括调试器,优选GDB,该GDB调试器通过多核状态控制技术对目标机的多核处理器的运行状态进行轮询监控,当轮询到某个核产生中断时,对该某个核进行定位并将其作为目标核,确定该目标核产生中断的类型,对其进行调试;
该目标机包括多核处理器;第一触发模块,用于响应调试器的多核调试指令,并当多核处理器的任一核产生中断时,以该核作为目标核触发下述模块的运行;核间中断触发模块,用于目标核指示处理器的其他核进入中断;上下文上报模块,用于目标核将当前上下文信息发送至调试器;核间中断退出模块,用于目标核在恢复运行时指示处理器的其他核退出中断。宿主机和目标机之间选用网卡通信连接。
具体的,本发明实施例提供的多核调试方法包括下述步骤:
S100:通过宿主机建立对多核处理器的调试关系,启动GDB调试器;
该步骤中首先需要在宿主机与目标机之间建立调试关系,使目标机中的多核处理器响应宿主机中GDB调试器的指令,得以保证GDB调试器可以获取多核处理器中每一个核的调试信息;
具体的,如图3所示,宿主机与目标机建立调试关系的流程如下:
S101-102:宿主机通过网卡与目标机建立通信连接;
S103:针对目标机中的多核处理器进行程序、参数、单步或断点设定等调试配置,然后启动GDB调试器;
S104-105:GDB调试器在调试配置中预设的断点或单步异常操作出现时,接收多核处理器运行状态的反馈,确定产生异常中断的目标核位置,以便于后续调试;
S200:响应调试器的多核调试指令,并当处理器的任一核产生中断时,以该核作为目标核,目标核发送中断指令指示处理器的其他核进入中断;
该步骤中,多核处理器根据GDB调试器预设的多核调试指令进行执行,当其中某个核执行调试指令产生中断时,以该某个核为目标核,该目标核在停止运行的过程中发送中断指令指示多核处理器中的其他核进入中断,该其他核是指多核处理器中其他未产生中断的核;
如图4所示,在本发明实施例中,多核处理器执行宿主机命令的流程如下:
S201-203:目标机中的多核处理器通过网卡接收来自宿主机的命令,解析该命令并依次执行该命令中的函数;
S204-205:当执行宿主机命令产生异常中断时,反馈其多核处理器的运行状态信息给宿主机的GDB调试器,以确定产生中断的目标核位置,此时GDB调试器下发进入异常处理函数的指令给目标核,使其执行对应该异常中断的异常处理函数;
值得说明的是,上述目标核产生的异常中断为单步中断、触发预设条件的中断或断点异常中断,具体选用的中断模式可根据实际调试工作中的需求,例如需要程序每执行一条指令即暂停一次进行状态查询和比对,则选用单步中断;通过在待调试的程序中的指定位置或任意位置中插入一些断点指令,当执行到该断点指令时即产生中断,则选用触发预设条件的中断;通过执行完整程序,直至产生bug导致程序无法继续执行的时候,再针对该bug进行调试,则选用断点异常中断。上述中断模式均需要目标核向调试器反馈上下文信息,本发明通过采用多种调试触发条件,可提高对于多种调试场景的可适用性。
S206-208:目标核根据GDB调试器的指令执行异常处理函数,并在停止运行的过程中同步发送IPI中断指令指示其他核进入空转状态,目标核将当前上下文信息进行保存并上报至GDB调试器,并等待调试器的调试。
值得说明的是,本发明中目标核与其他核的状态同步需要通过多核状态控制技术实现。与传统的单核调试不同,本发明的多核调试方法中,存在多核间的同步问题,在正常状态下,通过多核状态控制技术对所有核的运行状态进行监控,当某个核产生中断时,需要获取所有核的运行状态信息,以定位产生中断的某个核的位置,并将该某个核确定为目标核,未产生中断的核为其他核,在对该产生中断的目标核进行调试前和调试后,需要监控并改变其它核的运行状态,使目标核和其他核保持一致的运行状态。
其中,本实施例中,所述改变其他核的运行状态主要是挂起其他核和恢复其他核,即目标核产生中断时,将其他核挂起,进入空转状态;确定其他核进入空转状态后,即可利用调试器对目标核进行调试;对应的,在完成对目标核的调试后,将其他核恢复,退出空转状态,继续执行其程序。
本实施例中,上述多核状态控制技术采用IPI机制实现多核间的通信和核运行状态控制,IPI机制是实现多核状态控制技术的一种常用机制,通过IPI机制可实现核间通信和核的运行状态控制。当该多核调试方法在待调试的目标核产生中断时需要同步中断其他核,目标核可通过发送IPI中断通知其他核,当其他核收到IPI中断时,进入核间中断处理函数,核间中断处理函数使其他核进入空转状态;
具体的,上述IPI机制的实现主要是通过相关的IPI初始化函数实现的,具体的,该IPI初始化函数在该多核状态控制技术中提供以下功能,以实现多核处理器之间的相互通信,保持统一的运行状态,该IPI初始化函数需要调用调试库中的部分功能函数,例如:
1)挂接核间中断处理函数,即将核间中断处理函数引入到多核处理器中,在某个核产生中断时,通过IPI中断指令通知其他核,其他核即可执行已挂接的核间中断处理函数进入空转状态;
2)投递IPI中断指令,即某个核产生中断时,将IPI中断指令发送到其他核中;
3)使能调试核间中断处理函数,即其他核根据其接收到的IPI中断指令,解析并执行已挂接的核间中断处理函数,进入空转状态;
4)获取当前核的ID,即获取目标核的ID以对目标核的位置进行定位,便于目标核根据自己的ID来执行对应的异常处理函数。
如图5所示,目标核产生中断时,可执行预设的异常处理函数,该异常处理函数是处理单步或断点异常的统一接口,具体的,在目标核执行异常处理函数之前,还包括下述步骤:
S2071:确定目标核产生中断时,需要通过上述的多核状态控制技术,获取并判断其他核的运行状态,以判断其他核是否处于控制状态中;
S2072:当目标核在发送IPI中断指令给其他核之前,还需要通过原子操作获取临界资源的访问资格,并设置内存屏障防止其他核的访问。在多核处理器结构中,由于多核处理器中的每个核均在独立运行,即使能在单条指令中完成的操作也有可能受到干扰,比如,有的指令在执行过程中要访问内存两次,形成一个“读”-“写”-“读”的过程,这个过程中的每一步都是个“微”操作,整条指令由若干“微”操作构成。这样就可能会出现在某个核写内存时,其它核也在访问该地址,导致多个核互相干扰读写结果,调试程序访问相关临界资源需要通过自旋锁机制进行临界资源保护,当一个核访问一个临界资源(critical section)的时候,需要预先取得自旋锁,如果取不到的话,它就在空循环自旋锁等待,直到另外的核释放自旋锁,以达到临界资源保护。因此,本步骤通过采用原子操作和内存屏障对临界资源进行保护,既可保障目标核在访问临界资源时不受其他核的干扰,同时也可确定其他核已经处于空循环自旋锁等待状态,以便于接下来目标核发送中断指令控制其他核进入中断;
S2073:目标核根据上述IPI初始化函数中所述的“投递IPI中断指令”,将IPI中断指令发送至其他核;
S2074-2076:其他核接收到目标核发送的IPI中断指令后,根据上述IPI初始化函数中所述的“使能调试核间中断处理函数”,执行已挂接好的核间中断处理函数,进入空转状态;
此时,目标核根据自己的ID执行对应的异常处理函数,与GDB调试器进行相互通信,进入下述步骤S300-S600;
S300:调试器确定目标核产生中断时,发送上下文信息上报指令至目标核;
该步骤中,由于多核处理器与GDB调试器之间的通信网卡的收包模式默认为中断模式,当目标核在产生中断时,其中断信息通过网卡反馈至GDB调试器,此时GDB调试器根据该中断信息生成上下文信息上报指令发送至该产生中断的目标核,同时控制目标核进入关中断模式,即目标核不会再接收其他中断指令,并设置网卡的收包模式为可轮询收包模式。
S400:目标核将当前上下文信息发送至调试器;
该步骤中,目标核接收到GDB调试器的上下文信息上报指令后,对其产生中断前的上下文信息进行收集、保存,并通过轮询收包模式的网卡上传至GDB调试器中。
S500:调试器对目标核进行调试,并在调试完成后发送恢复运行指令至目标核;
S600:目标核接收调试器的调试,并在恢复运行时指示处理器的其他核退出中断。
具体的,该步骤包括下述子步骤:
S601:目标核接收调试器的调试,并通过循环收包接收调试器的指令;
S602:目标核在接收到GDB调试器恢复运行的指令时,同步发送IPI恢复运行的指令至其他核,指示其他核退出空转状态,继续运行;
S603-604:目标核进入开中断模式,即目标核可接收其他中断指令,并设置网卡为中断收包模式,目标核恢复进入中断处理程序之前所保存的上下文信息后,即可继续与其他核同步运行,至此完成上述目标核执行异常处理函数的所有流程。
本发明的另一个实施例中,上述涉及的多核调试方法具体还可实现为一种计算机存储介质的形式,其上存储有计算机程序,使得计算机设备(可以是个人计算机、服务器,或者网络设备等)或处理器执行该计算机程序时,实现上述对多核处理器的调试方法的部分步骤或全部步骤;
该存储介质可以是任何包含或存储有上述计算机程序的有形介质,例如便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、只读存储器(CD-ROM)、光存储器件、磁存储器件等,该计算机程序可以被指令执行设备、设备或者器件使用或者与其结合使用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多核调试方法,其特征在于,包括:
响应调试器的多核调试指令,并当处理器的任一核产生中断时,以该核作为目标核执行下述处理步骤:
目标核指示处理器的其他核进入中断;
目标核将当前上下文信息发送至调试器;
目标核接收调试器的调试,并在恢复运行时指示处理器的其他核退出中断。
2.根据权利要求1所述的方法,其特征在于,处理器的任一核产生中断中的所述中断包括以下之一:
单步中断、触发预设条件的中断、断点异常中断。
3.根据权利要求1所述的方法,其特征在于,所述目标核指示处理器的其他核进入中断之前还包括:
通过原子操作获取临界资源的访问资格,并设置内存屏障防止其他核的访问。
4.根据权利要求3所述的方法,其特征在于,所述目标核将当前上下文信息发送至调试器之前还包括:控制目标核进入关中断模式,并设置网卡为可轮询收包模式;
相应的,所述指示其他核退出中断之后还包括:控制目标核进入开中断模式,并设置网卡为中断收包模式,恢复目标核中断前保存的上下文信息。
5.根据权利要求1所述的方法,其特征在于,
所述指示处理器的其他核进入中断包括使处理器的其他核进入空转状态;相应的,
所述指示处理器的其他核退出中断包括使处理器的其他核退出空转状态。
6.根据权利要求1或5所述的方法,其特征在于,所述指示为通过IPI指令进行。
7.根据权利要求1所述的方法,其特征在于,还包括:当处理器的任一核产生中断时,通过多核状态控制技术获取该处理器中所有核的当前运行状态信息,定位该产生中断的核的位置,并将该核作为目标核。
8.一种用于执行权利要求1至7任一所述多核调试方法的装置,其特征在于,包括:
调试器,用于对多核处理器进行调试;
第一触发模块,用于响应调试器的多核调试指令,并当处理器的任一核产生中断时,以该核作为目标核触发下述模块的运行;
核间中断触发模块,用于目标核指示处理器的其他核进入中断;
上下文上报模块,用于目标核将当前上下文信息发送至调试器;
核间中断退出模块,用于目标核在恢复运行时指示处理器的其他核退出中断。
9.根据权利要求8所述的装置,其特征在于,所述调试器还用于通过多核状态控制技术对所有核的运行状态进行轮询监控,轮询到某个核产生中断时,将该核作为目标核并确定导致产生中断的类型,然后对目标核进行对应调试。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一所述多核调试方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911330251.5A CN111124792A (zh) | 2019-12-20 | 2019-12-20 | 一种多核调试方法、装置及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911330251.5A CN111124792A (zh) | 2019-12-20 | 2019-12-20 | 一种多核调试方法、装置及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111124792A true CN111124792A (zh) | 2020-05-08 |
Family
ID=70501646
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911330251.5A Pending CN111124792A (zh) | 2019-12-20 | 2019-12-20 | 一种多核调试方法、装置及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111124792A (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112256502A (zh) * | 2020-09-25 | 2021-01-22 | 新华三半导体技术有限公司 | 一种内存性能测试方法、装置及芯片 |
| CN112416536A (zh) * | 2020-12-10 | 2021-02-26 | 成都海光集成电路设计有限公司 | 提取处理器执行上下文的方法及处理器 |
| WO2022001303A1 (zh) * | 2020-06-29 | 2022-01-06 | 华为技术有限公司 | 一种锁管理方法、装置及设备 |
| CN114253679A (zh) * | 2020-09-24 | 2022-03-29 | 广州慧睿思通科技股份有限公司 | 中断事件处理方法、装置、计算机设备和存储介质 |
| CN115221053A (zh) * | 2022-07-15 | 2022-10-21 | 成都穿山云甲科技有限公司 | 一种基于以太网的dsp调试架构 |
| WO2022257210A1 (zh) * | 2021-06-10 | 2022-12-15 | 北京全路通信信号研究设计院集团有限公司 | 一种多核处理器的内存巡检方法及系统 |
| CN116483643A (zh) * | 2023-06-25 | 2023-07-25 | 深流微智能科技(深圳)有限公司 | 一种gpu调试方法、装置、设备及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103729288A (zh) * | 2013-11-01 | 2014-04-16 | 华中科技大学 | 一种嵌入式多核环境下应用程序的调试方法 |
| US20180181478A1 (en) * | 2016-12-28 | 2018-06-28 | Arm Limited | Performing diagnostic operations upon a target apparatus |
| CN109726135A (zh) * | 2019-01-25 | 2019-05-07 | 杭州嘉楠耘智信息科技有限公司 | 一种多核调试方法、装置及计算机可读存储介质 |
| CN109800166A (zh) * | 2019-01-16 | 2019-05-24 | 杭州嘉楠耘智信息科技有限公司 | 一种嵌入式实时操作系统的调试方法及装置 |
-
2019
- 2019-12-20 CN CN201911330251.5A patent/CN111124792A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103729288A (zh) * | 2013-11-01 | 2014-04-16 | 华中科技大学 | 一种嵌入式多核环境下应用程序的调试方法 |
| US20180181478A1 (en) * | 2016-12-28 | 2018-06-28 | Arm Limited | Performing diagnostic operations upon a target apparatus |
| CN109800166A (zh) * | 2019-01-16 | 2019-05-24 | 杭州嘉楠耘智信息科技有限公司 | 一种嵌入式实时操作系统的调试方法及装置 |
| CN109726135A (zh) * | 2019-01-25 | 2019-05-07 | 杭州嘉楠耘智信息科技有限公司 | 一种多核调试方法、装置及计算机可读存储介质 |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022001303A1 (zh) * | 2020-06-29 | 2022-01-06 | 华为技术有限公司 | 一种锁管理方法、装置及设备 |
| CN114253679A (zh) * | 2020-09-24 | 2022-03-29 | 广州慧睿思通科技股份有限公司 | 中断事件处理方法、装置、计算机设备和存储介质 |
| CN112256502A (zh) * | 2020-09-25 | 2021-01-22 | 新华三半导体技术有限公司 | 一种内存性能测试方法、装置及芯片 |
| CN112256502B (zh) * | 2020-09-25 | 2023-11-21 | 新华三半导体技术有限公司 | 一种内存性能测试方法、装置及芯片 |
| CN112416536A (zh) * | 2020-12-10 | 2021-02-26 | 成都海光集成电路设计有限公司 | 提取处理器执行上下文的方法及处理器 |
| CN112416536B (zh) * | 2020-12-10 | 2023-08-18 | 成都海光集成电路设计有限公司 | 提取处理器执行上下文的方法及处理器 |
| WO2022257210A1 (zh) * | 2021-06-10 | 2022-12-15 | 北京全路通信信号研究设计院集团有限公司 | 一种多核处理器的内存巡检方法及系统 |
| CN115221053A (zh) * | 2022-07-15 | 2022-10-21 | 成都穿山云甲科技有限公司 | 一种基于以太网的dsp调试架构 |
| CN115221053B (zh) * | 2022-07-15 | 2023-03-24 | 成都穿山云甲科技有限公司 | 一种基于以太网的dsp调试架构 |
| CN116483643A (zh) * | 2023-06-25 | 2023-07-25 | 深流微智能科技(深圳)有限公司 | 一种gpu调试方法、装置、设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111124792A (zh) | 一种多核调试方法、装置及存储介质 | |
| CN103729288B (zh) | 一种嵌入式多核环境下应用程序的调试方法 | |
| JP3571976B2 (ja) | デバッグ装置及び方法並びにプログラム記録媒体 | |
| US8327336B2 (en) | Enhanced thread stepping | |
| Musuvathi et al. | Finding and Reproducing Heisenbugs in Concurrent Programs. | |
| US7992042B2 (en) | Debug support device, and program for directing computer to perform debugging method | |
| Liu et al. | FCatch: Automatically detecting time-of-fault bugs in cloud systems | |
| US7950001B2 (en) | Method and apparatus for instrumentation in a multiprocessing environment | |
| US8813035B2 (en) | Paradigm for concurrency testcase generation | |
| CN109726135B (zh) | 一种多核调试方法、装置及计算机可读存储介质 | |
| US8136097B2 (en) | Thread debugging device, thread debugging method and information storage medium | |
| KR20180054773A (ko) | 디버깅 방법, 멀티 코어 프로세서, 및 디버깅 장치 | |
| KR102025078B1 (ko) | 단일 스텝 실행을 이용한 코드 진단 | |
| KR20180057687A (ko) | 디버깅 방법, 멀티 코어 프로세서, 및 디버깅 장비 | |
| US10229033B2 (en) | System, method and apparatus for debugging of reactive applications | |
| CN118467340A (zh) | Uefi bios的即时调试方法、系统、存储介质及设备 | |
| CN112445696B (zh) | 面向异构众核Dcache纵向一致性的调试方法 | |
| CN119902968B (zh) | 多线程束调试方法、装置和人工智能芯片 | |
| CN112068980B (zh) | 采样cpu挂死前信息的方法和装置、设备和存储介质 | |
| JPH02294739A (ja) | 障害検出方式 | |
| CN114327648A (zh) | 一种驱动调试方法、装置、电子设备及存储介质 | |
| CN120429122B (zh) | 线程调试方法、装置、控制系统以及电子设备 | |
| CN112925700A (zh) | 程序调试方法、装置及系统和嵌入式设备 | |
| RU2830957C1 (ru) | Способ отладки многоядерных многопроцессных вычислительных систем с механизмом контроля режима реального времени | |
| CN114238067B (zh) | 一种基于程序性能计数的异常进程快速定位方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200508 |