CN115357515A - 一种多核系统的调试方法、装置、计算机设备及存储介质 - Google Patents

一种多核系统的调试方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115357515A
CN115357515A CN202211276722.0A CN202211276722A CN115357515A CN 115357515 A CN115357515 A CN 115357515A CN 202211276722 A CN202211276722 A CN 202211276722A CN 115357515 A CN115357515 A CN 115357515A
Authority
CN
China
Prior art keywords
code
core system
debugging
patch
preset
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
CN202211276722.0A
Other languages
English (en)
Other versions
CN115357515B (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.)
Beijing Ziguang Xinneng Technology Co Ltd
Original Assignee
Beijing Ziguang Xinneng 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 Beijing Ziguang Xinneng Technology Co Ltd filed Critical Beijing Ziguang Xinneng Technology Co Ltd
Priority to CN202211276722.0A priority Critical patent/CN115357515B/zh
Publication of CN115357515A publication Critical patent/CN115357515A/zh
Application granted granted Critical
Publication of CN115357515B publication Critical patent/CN115357515B/zh
Active 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/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

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

Abstract

本申请公开了一种多核系统的调试方法、装置、计算机设备及存储介质。该方法包括:获取多核系统中待调试代码的位置,作为目标位置,向所述目标位置植入预设补丁代码,当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行,获取所述预设补丁代码对应的待调试代码的运行数据,将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。其中,通过在目标位置植入预设补丁代码,区别于现有技术中的断点式设置,不会使CPU停止工作,保证多核系统的运行的稳定性,并且通过运行所述预设补丁代码,并采集其运行数据,可以实现对多核系统的调试,且不需要反复修改代码,也不需要烧写固件,实现在线调试,提高了调试的效率。

Description

一种多核系统的调试方法、装置、计算机设备及存储介质
技术领域
本申请涉及系统调试技术领域,特别是涉及一种多核系统的调试方法、装置、计算机设备及存储介质。
背景技术
随着科学技术的发展,嵌入式系统由单核处理器逐渐发展为多核处理器。但是原有的单核处理器的调试方法已经不能满足对多核处理器的调试。
因此,在现有技术中,采用的是传统断点式调试方法,对多核系统中的代码进行调试,其通过暂停待调试代码对应的CPU的运行,再进行调试。但是这种传统的调试方法,会导致CPU运行停止,并且无法原图其他CPU发送同步消息等,可能会引起其他CPU上的程序运行或状态紊乱,并不能达到有效的调试,并且还可能会导致系统崩溃。
为了解决上述传统断点式调试方法所带来的缺陷,在现有技术中,还可以通过注入和分析系统日志的方法,对多核系统进行调试,这种方法不会停止CPU运行,但是需要不断的修改代码,加入日志代码,然后编译,发布,烧写固件,复现问题,收集和分析日志,其的调试过程效率很低。并且如果需要现场调试,客户可能不允许将在线运行的系统重新烧录成用于调试的工程版固件,中断系统运行,那么这种调试也就无法实施。
基于此,如何实现在不停止CPU运行的基础上进行调试,并提高调试效率,是本领域技术人员亟待解决的技术问题。
发明内容
基于上述问题,本申请提供了一种多核系统的调试方法、装置、计算机设备及存储介质,以实现在不停止CPU的运行的情况下进行调试,并且提高调试效率。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种多核系统的调试方法,所述方法包括:
获取多核系统中待调试代码的位置,作为目标位置;
向所述目标位置植入预设补丁代码;
当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行;
获取所述预设补丁代码对应的待调试代码的运行数据;
将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
可选地,在向所述目标位置植入预设补丁代码之前,所述方法还包括:
确定所述预设补丁代码对应的PC值,作为补丁PC值;
将所述补丁PC值加载到中央处理器的补丁表中。
可选地,所述当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行,包括:
当所述多核系统中的程序运行到所述目标位置时,根据所述补丁表中的补丁PC值跳转到所述预设补丁代码;
当所述程序跳转到所述预设补丁代码后,所述预设补丁代码开始运行。
第二方面,本申请实施例提供一种多核系统的调试装置,所述装置包括:目标位置确定模块,预设补丁代码植入模块,预设补丁代码运行模块,运行数据采集模块和调试模块;
所述目标位置确定模块,用于获取多核系统中待调试代码的位置,作为目标位置;
所述预设补丁代码植入模块,用于向所述目标位置植入预设补丁代码;
所述预设补丁代码运行模块,用于当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行;
所述运行数据采集模块,用于获取所述预设补丁代码对应的待调试代码的运行数据;
所述调试模块,用于将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
可选地,在所述预设补丁代码植入模块之前,所述装置还包括:
补丁PC值确定模块,用于确定所述预设补丁代码对应的PC值,作为补丁PC值;
加载模块,用于将所述补丁PC值加载到中央处理器的补丁表中。
可选地,所述预设补丁代码运行模块,包括:
跳转模块,用于当所述多核系统中的程序运行到所述目标位置时,根据所述补丁表中的补丁PC值跳转到所述预设补丁代码;
预设补丁代码运行子模块,用于当所述程序跳转到所述预设补丁代码后,所述预设补丁代码开始运行。
第三方面,本申请实施例提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面所述的多核系统的调试方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面所述的多核系统的调试方法。
相较于现有技术,本申请具有以下有益效果:
本申请通过获取多核系统中待调试代码的位置,作为目标位置,向所述目标位置植入预设补丁代码,当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行,获取所述预设补丁代码对应的待调试代码的运行数据,将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。其中,通过在目标位置植入预设补丁代码,区别于现有技术中的断点式设置,不会使CPU停止工作,保证多核系统的运行的稳定性,并且通过运行所述预设补丁代码,并采集其运行数据,可以实现对多核系统的调试,且不需要反复修改代码,也不需要烧写固件,实现在线调试,提高了调试的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种多核系统的调试方法的流程图;
图2a为本申请实施例提供的一种多核系统的调试过程的示意图;
图2b为本申请实施例提供的一种CPU内存分布的示意图;
图3为本申请实施例提供的一种多核系统的调试装置的结构示意图。
具体实施方式
正如前文描述,在针对多核系统的调试的研究中发现,在现有技术中,采用的是传统断点式调试方法,对多核系统中的代码进行调试,其通过暂停待调试代码对应的CPU的运行,再进行调试。但是这种传统的调试方法,会导致CPU运行停止,并且无法原图其他CPU发送同步消息等,可能会引起其他CPU上的程序运行或状态紊乱,并不能达到有效的调试,并且还可能会导致系统崩溃。为了解决传统断点式调试方法所带来的缺陷,在现有技术中,还可以通过注入和分析系统日志的方法,对多核系统进行调试,这种方法不会停止CPU运行,但是需要不断的修改代码,加入日志代码,然后编译,发布,烧写固件,复现问题,收集和分析日志,其的调试过程效率很低。并且如果需要现场调试,客户可能不允许将在线运行的系统重新烧录成用于调试的工程版固件,中断系统运行,那么这种调试也就无法实施。
为了解决上述问题,本申请实施例提供一种多核系统的调试方法、装置、计算机设备及存储介质。该方法包括:获取多核系统中待调试代码的位置,作为目标位置,向所述目标位置植入预设补丁代码,当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行,获取所述预设补丁代码对应的待调试代码的运行数据,将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
如此,在目标位置植入预设补丁代码,区别于现有技术中的断点式设置,不会使CPU停止工作,保证多核系统的运行的稳定性,并且通过运行所述预设补丁代码,并采集其运行数据,可以实现对多核系统的调试,且不需要反复修改代码,也不需要烧写固件,实现在线调试,提高了调试的效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
其中,在下述实施例中,所提到的多核系统为多核嵌入式系统,其对应的实体可以为多核处理器。多核处理器中可以集成两个或多个处理引擎(内核),其多个引擎之间会进行信息交互或通信等操作。在下述实施例中,是针对多核系统中的某一内核(或者CPU)对应的程序或代码进行调试。其中,CPU是指中央处理器(英文全称Central Processing Unit)。
参见图1,该图为本申请实施例提供的一种多核系统的调试方法的流程图,结合图1所示,本申请实施例提供的多核系统的调试方法,可以包括:
S101:获取多核系统中待调试代码的位置,作为目标位置。
其中,所述待调试代码可以为一个或多个,对应的其位置也可以为一个或多个,在此并不做具体限定。
其中,待调试代码的位置可以在多核系统的同一内核,也可以在多核系统的不同内核,实际位置根据需要进行确定。
S102:向所述目标位置植入预设补丁代码。
其中,所述补丁代码可以为基于C或者汇编语言的函数,该函数的执行完成后将返回到目标位置的下一条指令,在此并不做具体限定。
作为一种示例,在执行步骤S102之前,所述方法还包括:
步骤1:确定所述预设补丁代码对应的PC值,作为补丁PC值。
步骤2:将所述补丁PC值加载到中央处理器的补丁表中。
其中,通过将补丁代码的PC值加载到补丁表中,这样在程序运行到该补丁位置时,就会触发补丁功能,从而使得CPU运行补丁代码。
其中,步骤1~2的序号仅作为对不同步骤的区分或时序关系的区分,因此并未在附图中展示。
S103:当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行。
作为一种可选的实施方式,在步骤1~2的基础上,S103可以包括:
当所述多核系统中的程序运行到所述目标位置时,根据所述补丁表中的补丁PC值跳转到所述预设补丁代码;
当所述程序跳转到所述预设补丁代码后,所述预设补丁代码开始运行。
当所述多核系统中的程序运行到目标位置,会自动跳转到补丁代码上运行,区别于现有技术中设置断点,并不会中断单个内核(CPU)的运行过程,保证多核系统的运行的稳定性,并且通过运行补丁代码可以获取所需要的调试数据,也不需要反复修改代码,也不需要烧写固件,实现在线调试,提高了调试的效率。
S104:获取所述预设补丁代码对应的待调试代码的运行数据。
其中,所采集的运行数据可以包括补丁代码对应的目标位置的运行时上下文,即CPU通用寄存器状态,内存中静态区(包括bss和data段),栈区,堆区的状态。
S105:将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
其中,作为一种示例,也可以将运行数据直接导出并实时进行解析。
其中,通过解析被导出的预设补丁代码的运行时上下文数据,实时解析并打印出目标位置的CPU通用寄存器状态,内存中静态区(包括bss段和data段),栈区,堆区等状态形态,并对这些信息进行分析,从而获知系统在运行到此目标代码是状态,用这种显示目标代码的上下文信息的方式达到调试的目的。
本申请实施例提供的多核系统的调试方法,通过获取多核系统中待调试代码的位置,作为目标位置,向所述目标位置植入预设补丁代码,当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行,获取所述预设补丁代码对应的待调试代码的运行数据,将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。其中,通过在目标位置植入预设补丁代码,区别于现有技术中的断点式设置,不会使CPU停止工作,保证多核系统的运行的稳定性,并且通过运行所述预设补丁代码,并采集其运行数据,可以实现对多核系统的调试,且不需要反复修改代码,也不需要烧写固件,实现在线调试,提高了调试的效率。
基于上述实施例提供的一种多核系统的调试方法,本申请实施例提供一种基于实际场景下的多核系统的调试过程,参见图2a,图2a为本申请实施例提供的一种多核系统的调试过程的示意图,结合图2a所示,所述调试流程可以为:
开始调试前,我们可以在运行系统中对需要调试的代码行安装观测点(即确定目标位置),该操作类似使用调试器对代码设置断点的操作,但是区别在于并不会停止CPU的运行。
在多核系统初始化时,多核系统可将这些观测点的指令的所在代码地址上植入一个补丁(即补丁代码),设置补丁代码的PC值被加载到CPU的补丁表里,被CPU的补丁功能监控,即,初始化过程中,多核系统把可以把所有观测点的代码植入补丁,将全部补丁加载到CPU的补丁表中,这样被设置观测点的代码被CPU监控。
然后,多核系统开始运行,对于多核系统,由于没有调试断点的介入,植入的补丁替代断点,并不影响程序运行,CPU间的核间通信由于没有设置断点而确保不被中断。当程序运行到预先设置的观测点时,由于观测点是设置CPU补丁的代码行,CPU的补丁功能被触发,PC将跳转到其补丁所在的补丁函数中,在该观测点的补丁函数中,可以导出多核系统现场并保存,也可以给每个观测点上的现场信息打上时间戳,实时保存到日志文件或打印到控制台,收集完整的系统日志,经过对日志信息的提取和解析,可以用于后期问题分析调查。
其中,图2a中的CPU指令意指用于指示多核系统工作的指令,在实际应用中,多核系统的程序可以按照CPU指令的顺序依次执行,在图2a中仅展示出4条指令,但是在实际的应用中,包括但不限于所述4条指令,具体指令条数根据实际应用情况确定,在此并不做具体限定。
其中,图2a中的注入补丁意指将补丁代码植入到待调试的位置,如图2a所示,将补丁植入到CPU指令2中。
其中,图2a中的PC(Program Counter)表示程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址,在图2a中可以依次执行CPU指令1、CPU指令2,当PC运行到CPU指令2时,触发补丁功能,程序跳转到其补丁所在的补丁函数中,在该观测点的补丁函数中,可以导出多核系统现场并保存,也可以给每个观测点上的现场信息打上时间戳,实时保存到日志文件或打印到控制台,收集完整的系统日志,经过对日志信息的提取和解析,可以用于后期问题分析调查。
其中,在PC运行结束补丁后,会跳出补丁函数并继续执行CPU指令3,保证多核系统的运行程序不会中断,实现正常运行。
其中,参见图2b,图2b为本申请实施例提供的一种CPU内存分布的示意图,在补丁函数中需要有效地导出程序现场信息,即CPU通用寄存器状态,内存中静态区(包括bss段和data段),栈区,堆区的状态,补丁函数可以按照图2b的CPU内存分布对内存进行精确的定位并导出内存的原始数据,并结合编译期的内存映射信息,从原始的内存数据中解析出观察点程序现场的CPU状态,全局变量,局部变量,调用栈等有用信息,方便后续的问题分析。
其中,CPU在进入补丁函数时,首先保持设置观测点的代码的下一条指令保存,再执行完成补丁处理函数后,PC应该跳转到观测点的下一条指令,确保补丁处理函数的引入,不影响程序的正常流程。
其中,CPU通常可以支持多个补丁,这样可以在程序不同的地方设置多个观测点,设置观测点的代码根据需要,也可以灵活设置到不同的代码行。CPU补丁函数运行在和用户程序相同的上下文,也不会导致CPU模式的切换,保证了导出的现场信息的真实性和有效性。
其中,图2b中的Stack中文释义为栈区;HEAP中文释义为堆区;BSS(英文全称BlockStarted by Symbolsegment)通常是指用来存放程序中未初始化的全局变量的内存区域,该区域内存放有未初始化数据段bss;data表示数据段;Text表示代码段。
基于上述实施例提供的一种多核系统的调试方法,本申请实施例另外提供一种多核系统的调试装置,参见图3,该图为本申请实施例提供的一种多核系统的调试装置的结构示意图,结合图3所示,所述装置300可以包括:
目标位置确定模块301,用于获取多核系统中待调试代码的位置,作为目标位置。
预设补丁代码植入模块302,用于向所述目标位置植入预设补丁代码。
预设补丁代码运行模块303,用于当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行。
运行数据采集模块304,用于获取所述预设补丁代码对应的待调试代码的运行数据。
调试模块305,用于将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
作为一种示例,在所述预设补丁代码植入模块之前,所述装置300还包括:
补丁PC值确定模块,用于确定所述预设补丁代码对应的PC值,作为补丁PC值;
加载模块,用于将所述补丁PC值加载到中央处理器的补丁表中。
作为一种示例,所述预设补丁代码运行模块302,包括:
跳转模块,用于当所述多核系统中的程序运行到所述目标位置时,根据所述补丁表中的补丁PC值跳转到所述预设补丁代码;
预设补丁代码运行子模块,用于当所述程序跳转到所述预设补丁代码后,所述预设补丁代码开始运行。
本申请实施例提供的多核系统的调试装置与上述实施例提供的多核系统的调试方法具有相同的有益效果,因此不再赘述。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本申请任一实施例所述的多核系统的调试方法。
所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本申请任一实施例所述的多核系统的调试方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例所提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种多核系统的调试方法,其特征在于,所述方法包括:
获取多核系统中待调试代码的位置,作为目标位置;
向所述目标位置植入预设补丁代码;
当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行;
获取所述预设补丁代码对应的待调试代码的运行数据;
将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
2.根据权利要求1所述的多核系统的调试方法,其特征在于,在向所述目标位置植入预设补丁代码之前,所述方法还包括:
确定所述预设补丁代码对应的PC值,作为补丁PC值;
将所述补丁PC值加载到中央处理器的补丁表中。
3.根据权利要求2所述的多核系统的调试方法,其特征在于,所述当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行,包括:
当所述多核系统中的程序运行到所述目标位置时,根据所述补丁表中的补丁PC值跳转到所述预设补丁代码;
当所述程序跳转到所述预设补丁代码后,所述预设补丁代码开始运行。
4.一种多核系统的调试装置,其特征在于,所述装置包括:目标位置确定模块,预设补丁代码植入模块,预设补丁代码运行模块,运行数据采集模块和调试模块;
所述目标位置确定模块,用于获取多核系统中待调试代码的位置,作为目标位置;
所述预设补丁代码植入模块,用于向所述目标位置植入预设补丁代码;
所述预设补丁代码运行模块,用于当所述多核系统中的程序运行到所述目标位置时,所述预设补丁代码开始运行;
所述运行数据采集模块,用于获取所述预设补丁代码对应的待调试代码的运行数据;
所述调试模块,用于将所述运行数据作为调试数据导出并存储,完成对所述多核系统的调试。
5.根据权利要求4所述的多核系统的调试装置,其特征在于,在所述预设补丁代码植入模块之前,所述装置还包括:
补丁PC值确定模块,用于确定所述预设补丁代码对应的PC值,作为补丁PC值;
加载模块,用于将所述补丁PC值加载到中央处理器的补丁表中。
6.根据权利要求5所述的多核系统的调试装置,其特征在于,所述预设补丁代码运行模块,包括:
跳转模块,用于当所述多核系统中的程序运行到所述目标位置时,根据所述补丁表中的补丁PC值跳转到所述预设补丁代码;
预设补丁代码运行子模块,用于当所述程序跳转到所述预设补丁代码后,所述预设补丁代码开始运行。
7.一种计算机设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-3任一项所述的多核系统的调试方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-3任一项所述的多核系统的调试方法。
CN202211276722.0A 2022-10-19 2022-10-19 一种多核系统的调试方法、装置、计算机设备及存储介质 Active CN115357515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211276722.0A CN115357515B (zh) 2022-10-19 2022-10-19 一种多核系统的调试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211276722.0A CN115357515B (zh) 2022-10-19 2022-10-19 一种多核系统的调试方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN115357515A true CN115357515A (zh) 2022-11-18
CN115357515B CN115357515B (zh) 2023-01-31

Family

ID=84008978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211276722.0A Active CN115357515B (zh) 2022-10-19 2022-10-19 一种多核系统的调试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115357515B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506338A (zh) * 2020-03-03 2020-08-07 深圳震有科技股份有限公司 一种函数级热补丁方法、装置、智能终端及存储介质
CN115878363A (zh) * 2023-02-02 2023-03-31 北京紫光芯能科技有限公司 用于解析处理器异常的方法、装置及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789413A (zh) * 2011-05-23 2012-11-21 同济大学 一种并行程序的调试系统及方法
CN103365749A (zh) * 2013-06-06 2013-10-23 北京时代民芯科技有限公司 一种多核处理器调试系统
CN103744709A (zh) * 2014-01-23 2014-04-23 华为技术有限公司 补丁加载方法及装置
CN104636161A (zh) * 2013-11-15 2015-05-20 华为技术有限公司 一种多核系统的在线补丁方法及系统
US20160062875A1 (en) * 2014-08-29 2016-03-03 Mihail-Marian Nistor Method for altering execution of a program, debugger, and computer-readable medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789413A (zh) * 2011-05-23 2012-11-21 同济大学 一种并行程序的调试系统及方法
CN103365749A (zh) * 2013-06-06 2013-10-23 北京时代民芯科技有限公司 一种多核处理器调试系统
CN104636161A (zh) * 2013-11-15 2015-05-20 华为技术有限公司 一种多核系统的在线补丁方法及系统
CN103744709A (zh) * 2014-01-23 2014-04-23 华为技术有限公司 补丁加载方法及装置
US20160062875A1 (en) * 2014-08-29 2016-03-03 Mihail-Marian Nistor Method for altering execution of a program, debugger, and computer-readable medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
焦婉妮等: "基于多核架构的安全漏洞分析平台研究", 《计算机科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506338A (zh) * 2020-03-03 2020-08-07 深圳震有科技股份有限公司 一种函数级热补丁方法、装置、智能终端及存储介质
CN111506338B (zh) * 2020-03-03 2023-08-11 深圳震有科技股份有限公司 一种函数级热补丁方法、装置、智能终端及存储介质
CN115878363A (zh) * 2023-02-02 2023-03-31 北京紫光芯能科技有限公司 用于解析处理器异常的方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN115357515B (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
CN115357515B (zh) 一种多核系统的调试方法、装置、计算机设备及存储介质
US8930912B2 (en) Method and system for performing software verification
US9727436B2 (en) Adding a profiling agent to a virtual machine to permit performance and memory consumption analysis within unit tests
US9535823B2 (en) Method and apparatus for detecting software bugs
CN112463581B (zh) 一种对分布式系统进行模糊测试的方法及系统
CN111756575A (zh) 存储服务器的性能分析方法及装置、电子设备
CN106227654B (zh) 一种测试平台
CN110554965A (zh) 自动化模糊测试方法及相关设备、计算机可读存储介质
CN110457211A (zh) 脚本性能测试方法、装置和设备及计算机存储介质
CN103186463B (zh) 确定软件的测试范围的方法和系统
Li et al. Effectively manifesting concurrency bugs in android apps
CN111679984A (zh) 一种性能分析方法和装置
CN116841885A (zh) 一种基于测试用例库的测试方法、装置及电子设备
CN113315675B (zh) 一种白盒交换机U-Boot自动化测试方法、系统和存储介质
CN109542444A (zh) Java应用的监控方法、装置、服务器和存储介质
CN112612697A (zh) 一种基于字节码技术的软件缺陷测试定位方法及系统
CN108021495B (zh) 基于回放的代码调试方法
CN110633199A (zh) 用于支持智能合约的区块链的测试装置、方法及介质
Elsner et al. Challenges in regression test selection for end-to-end testing of microservice-based software systems
CN108681506B (zh) 一种压力测试方法及装置
CN112740187A (zh) 调试程序的方法和系统
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN112181853A (zh) 程序调试方法、装置及系统
CN110096888A (zh) 一种加快验证及分析smm安全隐患的方法及系统
CN111694727A (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
GR01 Patent grant
GR01 Patent grant