[发明专利]一种调试方法、多核处理器和调试设备有效
申请号: | 201510623211.5 | 申请日: | 2015-09-25 |
公开(公告)号: | CN105354136B | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 王名发;喻钢;王海川 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调试信息 停止运行 多核处理器 停止指令 预设事件 调试 计算机技术领域 停止运行信号 用户态代码 恢复 处理例程 调试平台 调试设备 调试装置 运行指令 内核态 屏蔽 | ||
1.一种调试方法,其特征在于,应用于远程调试系统中的目标机,所述目标机包括多核处理器,所述方法包括:
所述多核处理器的核A执行完预设事件处理例程后开始停止运行,并在停止运行的过程中向其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行;所述其他核是指位于所述多核处理器内、且与所述核A属于同一逻辑分组的所有核;所述预设事件为内核模块的卸载函数、进程的删除函数或线程的处理函数;
所述核A接收第一解除停止指令并恢复运行后,执行调试信息收集函数以收集所述预设事件的调试信息,并在执行完所述调试信息收集函数之后停止运行;所述第一解除停止指令是所述远程调试系统中的调试装置在确定所述核A停止运行且导致所述核A停止运行的原因为所述预设事件之外的原因后发送的;
所述核A接收第二解除停止指令并恢复运行后,向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行;所述第二解除停止指令是所述调试装置根据所述预设事件的调试信息屏蔽所述预设事件操作对象之后发送的,所述预设事件操作对象为内核模块、进程或线程。
2.根据权利要求1所述的方法,其特征在于,
所述调试信息收集函数包括调试接口函数,所述调试接口函数的头部设置有第一调试异常指令,所述第一调试异常指令用于指示所述核A停止运行;
所述核A执行完预设事件处理例程后开始停止运行,并在停止运行的过程中向其他核发送停止运行信号,具体包括:
所述核A执行完所述预设事件处理例程后开始执行位于所述调试接口函数头部的所述第一调试异常指令,并在执行所述第一调试异常指令的过程中向所述其他核发送所述停止运行信号。
3.根据权利要求2所述的方法,其特征在于,
所述调试信息收集函数还包括与所述预设事件相关联的功能函数,且所述调试接口函数的尾部还设置有第二调试异常指令,所述第二调试异常指令用于指示所述核A停止运行;
所述核A执行调试信息收集函数以收集所述预设事件的调试信息,并在执行完所述调试信息收集函数之后停止运行,具体包括:
所述核A执行与所述预设事件相关联的功能函数以收集所述预设事件的调试信息,然后执行位于所述调试接口函数尾部的所述第二调试异常指令。
4.根据权利要求3所述的方法,其特征在于,
所述与所述预设事件相关联的功能函数位于内核调试桩内,所述内核调试桩是预先植入在所述目标机操作系统内的。
5.根据权利要求1至4任一项所述的方法,其特征在于,
在所述预设事件为所述内核模块的卸载函数的情况下,所述预设事件操作对象为内核模块;
在所述预设事件为所述进程的删除函数的情况下,所述预设事件操作对象为进程;
在所述预设事件为所述线程的删除函数的情况下,所述预设事件操作对象为线程。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述预设事件的调试信息包括所述预设事件操作对象的标识。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述多核处理器集成在系统级芯片SOC上;
所述核A向其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行,具体包括:
所述核A通过所述SOC的硬件交叉触发网络向所述其他核发送停止运行信号,所述停止运行信号用于指示所述其他核停止运行;
所述核A向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行,具体包括:
所述核A通过所述SOC的硬件交叉触发网络向所述其他核发送恢复运行指令,所述恢复运行指令用于通知所述其他核恢复运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510623211.5/1.html,转载请声明来源钻瓜专利网。