一种调试方法、多核处理器和调试设备的制造方法_6

文档序号:9597774阅读:来源:国知局
试异常指令,所述第一调试异常指令用于指示所述核A停止运行; 所述核A执行完预设事件处理例程后开始停止运行,并在停止运行的过程中向其他核发送停止运行信号,具体包括: 所述核A执行完所述预设事件处理例程后开始执行位于所述调试接口函数头部的所述第一调试异常指令,并在执行所述第一调试异常指令的过程中向所述其他核发送所述停止运行信号。3.根据权利要求2所述的方法,其特征在于, 所述调试信息收集函数还包括与所述预设事件相关联的功能函数,且所述调试接口函数的尾部还设置有第二调试异常指令,所述第二调试异常指令用于指示所述核A停止运行; 所述核A执行调试信息收集函数以收集所述预设事件的调试信息,并在执行完所述调试信息收集函数之后停止运行,具体包括: 所述核A执行与所述预设事件相关联的功能函数以收集所述预设事件的调试信息,然后执行位于所述调试接口函数尾部的所述第二调试异常指令。4.根据权利要求3所述的方法,其特征在于, 所述与所述预设事件相关联的功能函数位于内核调试粧内,所述内核调试粧是预先植入在所述目标机操作系统内的。5.根据权利要求1至4任一项所述的方法,其特征在于, 在所述预设事件为所述内核模块的卸载函数的情况下,所述预设事件操作对象为内核丰吴块; 在所述预设事件为所述进程的删除函数的情况下,所述预设事件操作对象为进程; 在所述预设事件为所述线程的删除函数的情况下,所述预设事件操作对象为线程。6.根据权利要求1至5任一项所述的方法,其特征在于,所述预设事件的调试信息包括所述预设事件操作对象的标识。7.根据权利要求1至6任一项所述的方法,其特征在于,所述多核处理器集成在系统级芯片SOC上; 所述核A向其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行,具体包括: 所述核A通过所述SOC的硬件交叉触发网络向所述其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行; 所述核A向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行,具体包括: 所述核A通过所述SOC的硬件交叉触发网络向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行。8.—种调试方法,其特征在于,由部署于宿主机内的调试装置执行,所述宿主机位于远程调试系统,所述方法包括: 所述调试装置确定核A停止运行后,确定导致所述核A停止运行的原因;所述核A属于所述远程调试系统中的目标机的多核处理器; 在导致所述核A停止运行的原因为预设事件的情况下,所述调试装置获取所述预设事件的调试信息,并根据所述预设事件的调试信息屏蔽所述预设事件操作对象;所述预设事件为内核模块的卸载函数、进程的删除函数或线程的删除函数,所述预设事件操作对象为内核模块、进程或线程; 所述调试装置指示所述核A恢复运行。9.根据权利要求8所述的方法,其特征在于, 在导致所述核A停止运行的原因为预设事件之外的原因的情况下,所述调试装置指示所述核A恢复运行以收集所述预设事件的调试信息。10.根据权利要求8或9所述的方法,其特征在于,所述预设事件的调试信息包括所述预设事件操作对象的标识; 所述调试装置获取所述预设事件的调试信息,并根据所述预设事件的调试信息屏蔽所述预设事件操作对象,具体包括: 所述调试装置获取所述预设事件操作对象的标识,并根据所述预设事件操作对象的标识屏蔽所述预设事件操作对象。11.根据权利要求8至10任一项所述的方法,其特征在于,所述调试装置包括调试器和调试代理, 所述调试装置确定核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为预设事件的情况下,所述调试装置获取所述预设事件的调试信息,并根据所述预设事件的调试信息屏蔽所述预设事件操作对象,具体包括: 所述调试代理轮询到所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为所述预设事件的情况下,将第二消息上报所述调试器,所述第二消息包括所述核A停止运行以及所述预设事件的标识; 所述调试器接收所述第二消息后,获取所述预设事件的调试信息,并根据所述预设事件的调试信息屏蔽所述预设事件操作对象; 所述调试装置指示所述核A恢复运行,具体包括: 所述调试器指示所述调试代理向所述核A发送第二解除停止指令,所述第二解除停止指令用于指示所述核A恢复运行。12.根据权利要求11所述的方法,其特征在于, 所述调试装置确定所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为预设事件之外的原因的情况下,所述调试装置指示所述核A恢复运行以收集所述预设事件的调试信息,具体包括: 所述调试代理轮询到所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为所述预设事件之外的原因的情况下,所述调试代理向所述核A发送第一解除停止指令,所述第一解除停止指令用于指示所述核A恢复运行以收集所述预设事件的调试信息。13.根据权利要求8至11任一项所述的方法,其特征在于,所述调试装置包括调试器和调试代理, 所述调试装置确定所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为预设事件之外的原因的情况下,所述调试装置指示所述核A恢复运行以收集所述预设事件的调试信息,具体包括: 所述调试代理轮询到所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为所述预设事件之外的原因的情况下,将第一消息上报给所述调试器,所述第一消息包括所述核A停止运行以及缺省标识, 所述调试器接收所述第一消息后,指示所述调试代理向所述核A发送第一解除停止指令,所述第一解除停止指令用于指示所述核A恢复运行以收集所述预设事件的调试信息。14.一种多核处理器,应用于远程调试系统中的目标机,其特征在于,所述多核处理器包括核A、其他核和输入端口,所述其他核是指位于所述多核处理器内、且与所述核A属于同一逻辑分组的所有核,其中: 所述核A用于在执行完预设事件处理例程后开始停止运行,并在停止运行的过程中向其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行,所述预设事件为内核模块的卸载函数、进程的删除函数或线程的删除函数; 所述输入端口用于接收第一解除停止指令,并将所述第一解除停止指令转送给所述核A,所述第一解除停止指令是所述远程调试系统中的调试装置在确定所述核A停止运行且导致所述核A停止运行的原因为所述预设事件之外的原因后发送的; 所述核A还用于在接收所述第一解除停止指令并恢复运行后,执行调试信息收集函数以收集所述预设事件的调试信息,并在执行完所述调试信息收集函数之后停止运行; 所述输入端口还用于接收第二解除停止指令,并将所述第二解除停止指令转送给所述核A,所述第二解除停止指令是所述调试装置根据所述预设事件的调试信息屏蔽所述预设事件操作对象之后发送的,所述预设事件操作对象为内核模块、进程或线程; 所述核A还用于在接收所述第二解除停止指令并恢复运行后,向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行。15.根据权利要求14所述的多核处理器,其特征在于, 所述调试信息收集函数包括调试接口函数,所述调试接口函数的头部设置有第一调试异常指令,所述第一调试异常指令用于指示所述核A停止运行; 所述核A具体用于在执行完所述预设事件处理例程后开始执行位于所述调试接口函数头部的所述第一调试异常指令,并在执行所述第一调试异常指令的过程中向所述其他核发送所述停止运行信号。16.根据权利要求15所述的多核处理器,其特征在于, 所述调试信息收集函数还包括与所述预设事件相关联的功能函数,且所述调试接口函数的尾部还设置有第二调试异常指令,所述第二调试异常指令用于指示所述核A停止运行; 所述核A具体用于执行与所述预设事件相关联的功能函数以收集所述预设事件的调试信息,然后执行位于所述调试接口函数尾部的所述第二调试异常指令。17.根据权利要求16所述的多核处理器,其特征在于, 所述与所述预设事件相关联的功能函数位于内核调试粧内,所述内核调试粧是预先植入在所述目标机操作系统内的。18.根据权利要求14至17任一项所述的多核处理器,其特征在于,所述多核处理器集成在系统级芯片SOC上; 所述核A具体用于通过所述SOC的硬件交叉触发网络向所述其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行;以及, 所述核A具体用于通过所述SOC的硬件交叉触发网络向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行。19.一种调试装置,其特征在于,所述调试装置部署在远程调试系统的宿主机内,所述调试设备包括调试单元和接收单元, 所述接收单元用于接收用于指示核A停止运行的消息,并将所述用于指示所述核A停止运行的消息转送给所述调试单元;其中,位于所述远程调试系统的目标机包括多核处理器,所述多核处理器包括所述核A ; 所述调试单元用于在确定所述核A停止运行后,确定导致所述核A停止运行的原因; 在导致所述核A停止运行的原因为预设事件的情况下,所述调试装置还用于获取所述预设事件的调试信息,并根据所述预设事件的调试信息屏蔽所述预设事件操作对象;所述预设事件为内核模块的卸载函数、进程的删除函数或线程的删除函数,所述预设事件操作对象为内核模块、进程或线程; 所述调试装置还用于指示所述核A恢复运行。20.根据权利要求19所述的装置,其特征在于, 在导致所述核A停止运行的原因为预设事件之外的原因的情况下,所述调试装置还用于指示所述核A恢复运行以收集所述预设事件的调试信息。21.根据权利要求19或20所述的装置,其特征在于,所述预设事件的调试信息包括所述预设事件操作对象的标识; 所述调试装置具体用于获取所述预设事件操作对象的标识,并根据所述预设事件操作对象的标识屏蔽所述预设事件操作对象。22.根据权利要求19至21任一项所述的装置,其特征在于,所述调试装置包括调试器和调试代理, 所述调试代理具体用于在确定所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为所述预设事件的情况下,将第二消息上报所述调试器,所述第二消息包括所述核A停止运行以及所述预设事件的标识; 所述调试器具体用于接收所述第二消息后,获取所述预设事件的调试信息,并根据所述预设事件的调试信息屏蔽所述预设事件操作对象; 所述调试器具体用于指示所述调试代理向所述核A发送第二解除停止指令,所述第二解除停止指令用于指示所述核A恢复运行。23.根据权利要求22所述的装置,其特征在于,所述调试代理具体用于在确定所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为所述预设事件之外的原因的情况下,所述调试代理具体用于向所述核A发送第一解除停止指令,所述第一解除停止指令用于指示所述核A恢复运行以收集所述预设事件的调试信息。24.根据权利要求19至22任一项所述的装置,其特征在于,所述调试装置包括调试器和调试代理, 所述调试代理具体用于在确定所述核A停止运行后,确定导致所述核A停止运行的原因,在导致所述核A停止运行的原因为所述预设事件之外的原因的情况下,将第一消息上报给所述调试器,所述第一消息包括所述核A停止运行以及缺省标识; 所述调试器具体用于在接收到所述第一消息后,指示所述调试代理向所述核A发送第一解除停止指令,所述第一解除停止指令用于指示所述核A恢复运行以收集所述预设事件的调试信息。
【专利摘要】本发明实施例涉及计算机技术领域。本发明实施例提供一种调试方法,包括:所述多核处理器的核A执行完预设事件处理例程后开始停止运行,并在停止运行的过程中向其他核发送停止运行信号;所述核A接收第一解除停止指令并恢复运行后,执行调试信息收集函数以收集所述预设事件的调试信息,并在执行完所述调试信息收集函数之后停止运行;所述核A接收第二解除停止指令并恢复运行后,向所述其他核发送恢复运行指令。本发明实施例提供的技术方案能够实现内核态代码和用户态代码使用同一个调试平台实现屏蔽。此外,本发明实施例还提供相应的调试装置。
【IPC分类】G06F11/36
【公开号】CN105354136
【申请号】CN201510623211
【发明人】王名发, 喻钢, 王海川
【申请人】华为技术有限公司
【公开日】2016年2月24日
【申请日】2015年9月25日
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1