[发明专利]一种多断点的软件调试装置和方法有效
| 申请号: | 201410010606.3 | 申请日: | 2014-01-09 |
| 公开(公告)号: | CN104778116B | 公开(公告)日: | 2018-09-18 |
| 发明(设计)人: | 郝宇;安康;王志忠 | 申请(专利权)人: | 深圳市中兴微电子技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/30 |
| 代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张颖玲;张振伟 |
| 地址: | 518085 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 断点 软件 调试 装置 方法 | ||
1.一种多断点的软件调试装置,其特征在于,该软件调试装置包括:驱动器、微处理器、指令存储器和微码集成开发环境IDE;其中,
所述驱动器,用于获取软件程序中的断点信息,将所述断点信息发送给指令存储器,并根据指令存储器中的断点信息将断点处的真实指令替换成断点指令,在上报中断给IDE后,根据IDE下发的命令将所述断点指令换回真实指令,触发微处理器解冻流水线,并在断点指令执行的间隙将断点处的真实指令再次替换成断点指令,其中,所述断点信息包括断点位置地址;
所述微处理器,用于当执行到断点指令时,通过驱动器上报中断给IDE,冻结流水线,并根据驱动器的触发解冻流水线,对断点处的真实指令进行取指;
所述指令存储器,用于存储断点指令和断点信息;
所述IDE,用于为用户提供下发命令的交互界面。
2.根据权利要求1所述的软件调试装置,其特征在于,所述断点指令为原地跳转指令;所述断点指令执行的间隙为断点指令在原地执行跳转的任意两次的间隙。
3.根据权利要求2所述的软件调试装置,其特征在于,所述驱动器,还用于将来自所述IDE的命令解析成具体的寄存器或存储器读写信号通过总线发送给所述微处理器和/或指令存储器。
4.根据权利要求3所述的软件调试装置,其特征在于,所述驱动器,还用于将断点位置和断点处的真实指令存储到IDE所在的上位机。
5.根据权利要求4所述的软件调试装置,其特征在于,所述微处理器包括:流水线和调试模块;其中,
所述流水线,用于当执行到断点指令时,解析发现当前指令为断点指令后向所述调试模块发送通知,并在解冻后对断点处的真实指令进行取指;
所述调试模块,用于当接收到来自所述流水线的通知后,冻结流水线,上报中断给驱动器,并根据驱动器的触发解冻流水线。
6.根据权利要求5所述的软件调试装置,其特征在于,所述调试模块,具体用于当接收到来自所述流水线的通知后,产生停止信号来冻结流水线。
7.一种多断点的软件调试方法,其特征在于,该软件调试方法包括:
微码集成开发环境IDE在软件程序中设置断点;
驱动器获取软件程序中的断点信息,根据所述断点信息将断点处的真实指令替换成断点指令;
当执行到所述断点指令时,微处理器上报中断给IDE,并冻结流水线,其中,所述断点信息包括断点位置地址;
驱动器根据IDE下发的命令将所述断点指令换回真实指令;
微处理器解冻流水线,对断点处的真实指令进行取指;
驱动器在断点指令执行的间隙将断点处的真实指令再次替换成断点指令。
8.根据权利要求7所述的软件调试方法,其特征在于,该软件调试方法还包括:驱动器将断点位置和断点处的真实指令存储到IDE所在的上位机。
9.根据权利要求7所述的软件调试方法,其特征在于,所述驱动器根据IDE下发的命令将所述断点指令换回真实指令,微处理器解冻流水线,对断点处的真实指令进行取指,驱动器在断点指令执行的间隙将断点处的真实指令再次替换成断点指令为:驱动器根据IDE下发的单步操作命令或继续操作命令,将所述断点指令换回真实指令,在换回真实指令时,微处理器解冻流水线,对断点处的真实指令进行取指,在对所述真实指令取指完成后,在任意两次执行断点指令的间隙将断点处的真实指令再次替换成断点指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市中兴微电子技术有限公司,未经深圳市中兴微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410010606.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种Java卡空闲块管理方法
- 下一篇:分析应用响应性能的方法、装置和终端





