[发明专利]反向调试方法、反向调试系统、主机及单板有效
申请号: | 201310173274.6 | 申请日: | 2013-05-10 |
公开(公告)号: | CN103268283B | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 余银 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州三环专利代理有限公司44202 | 代理人: | 郝传鑫,熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 反向 调试 方法 系统 主机 单板 | ||
技术领域
本发明涉及通信领域,尤其涉及反向调试方法、反向调试系统、主机及单板。
背景技术
反向调试是指在程序调试过程中,可以对程序执行反向的单步(源码/汇编级)、continue等调试命令,就好像程序能够倒过来运行的一种调试方法。反向调试作为普通正向调试的补充,可以提高用户的调试效率。比如某段代码进入了异常,如果没有反向调试,可能需要重新启动程序,然后单步调试去找到原因,如果有了反向调试功能,进入异常后不需要重新启动程序,反向就能够找到出问题的代码位置。
目前已经有一些软件支持反向调试,但目前还没有一个能够应用于数字信号处理(Digital Signal Processing,DSP)领域单板上反向调试的方法。
发明内容
本发明实施例提供反向调试方法、反向调试系统、主机及单板,可在程序运行在单板上时对单板上的程序进行反向调试,给调试人员带来极大地便利。
本发明第一方面提供一种反向调试方法,其可包括:
当主机确定需调试的单板上的代码段后,在所述代码段运行前,记录初始寄存器的值并启动所述单板上的程序和/或数据跟踪功能;
所述主机指示所述单板正向运行所述代码段,并获取所述单板搜集的所述运行的代码段的程序轨迹和/或数据轨迹;
所述主机指示所述单板停止运行所述代码段,根据用户输入的反向调试指示信息和所述初始寄存器值和获取的所述单板搜集的所述运行的代码段的程序轨迹和/或获取的所述单板搜集的所述运行的代码段的数据轨迹生成代码停止位置到目标位置的反向调试指令,并指示所述单板运行所述反向调试指令以对所述代码段进行反向调试。
结合第一方面,在第一种可行的实施方式中,所述启动所述单板上的程序和/或数据跟踪功能包括:
启动所述单板上用于程序跟踪的程序搜集硬件模块;
和/或,
启动所述单板上用于数据跟踪的数据搜集硬件模块。
结合第一方面,在第二种可行的实施方式中,所述启动所述单板上的程序和/或数据跟踪功能包括:
启动所述单板上用于程序跟踪的程序搜集硬件模块;
和/或,
将所述代码段的load/store指令替换为break指令,并指示所述break指令用于数据跟踪和执行被替换的load/store指令的功能。
结合第一方面的第一种可行的实施方式,在第三种可行的实施方式中,所述获取所述单板搜集的所述运行的代码段的程序轨迹和/或数据轨迹,包括:
获取所述单板的程序搜集硬件模块搜集的所述运行的代码段的程序轨迹;
和/或,
获取所述单板的数据搜集硬件模块搜集的所述运行的代码段的数据轨迹。
结合第一方面的第二种可行的实施方式,在第四种可行的实施方式中,所述获取所述单板搜集的所述运行的代码段的程序轨迹和/或数据轨迹,包括:
获取所述单板的程序搜集硬件模块搜集的所述运行的代码段的程序轨迹;
和/或,
获取所述单板的代码段的break指令搜集的所述运行的代码段的数据轨迹。
本发明第二方面提供一种主机,其可包括调试控制模块和指令翻译模块,还包括程序跟踪模块和数据跟踪模块中至少一种:
调试控制模块,用于接收根据用户输入的指令确定需调试的单板上的代码段,并记录初始寄存器的值,启动所述程序跟踪模块、数据跟踪模块和指令翻译模块,以及指示所述单板正向运行所述代码段,以及用于指示所述单板停止运行所述代码段;
程序跟踪模块,用于启动所述单板上的程序跟踪功能,并获取所述单板搜集的所述运行的代码段的程序轨迹;
数据跟踪模块,用于启动所述单板上的数据跟踪功能,并获取所述单板搜集的所述运行的代码段的数据轨迹;
指令翻译模块,用于根据所述调试控制模块记录的初始寄存器的值和所述调试控制模块获取的用户输入的调试指示信息和所述程序跟踪模块获取的所述单板搜集的所述运行的代码段的程序轨迹和/或所述数据跟踪模块获取的所述单板搜集的所述运行的代码段的数据轨迹生成代码停止位置到目标位置的反向调试指令;
所述调试控制模块还用于指示所述单板运行所述指令翻译模块生成的反向调试指令,以对所述代码段进行反向调试。
结合第二方面,在第一种可行的实施方式中,所述程序跟踪模块具体用于启动所述单板上用于程序跟踪的程序搜集硬件模块;
和/或,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310173274.6/2.html,转载请声明来源钻瓜专利网。