[发明专利]程序调试方法、装置及系统在审
申请号: | 202011172303.3 | 申请日: | 2020-10-28 |
公开(公告)号: | CN112181853A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 李新豪 | 申请(专利权)人: | 上海豹云网络信息服务有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/14 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 段晓玲 |
地址: | 200051 上海市长*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 调试 方法 装置 系统 | ||
1.一种程序调试方法,其特征在于,所述方法包括:
获取用户选中的待调试代码片段在程序代码中的位置信息;
根据所述位置信息,在程序代码中查找待调试代码片段,将所述待调试代码片段标记为断点;
查找位于所述断点之前的一个预设的快照点,从预先保存的执行记录队列中读取所述快照点对应的快照,所述快照包括内存信息;
将所述快照恢复到内存中,从所述快照点开始执行代码,运行到所述断点处,返回内存信息。
2.如权利要求1所述的程序调试方法,其特征在于,所述预先保存的执行记录队列通过以下方式获得:
在所述程序代码首次运行过程中,保存运行到预设的快照点处内存的快照;
当执行到调用结果不固定的函数或外部链接的代码片段时,将调用到的数据作为执行数据保存;
将快照、执行数据和系统上下文按次序保存为执行记录队列。
3.如权利要求2所述的程序调试方法,其特征在于,所述方法中的将所述快照恢复到内存中,从所述快照点开始执行代码,运行到所述断点处包括:
将所述快照恢复到内存中,从所述快照点开始执行代码,运行到所述断点处,中途若遇到调用结果不固定的函数或外部链接的代码片段时,不执行所述代码片段,从预先保存的执行记录队列中获取对应的执行数据使用。
4.如权利要求1所述的程序调试方法,其特征在于,所述方法还包括:
接收定位条件,在执行代码的过程中,判断内存中的数据和系统上下文是否满足定位条件,若满足定位条件,将满足所述定位条件时的内存信息返回。
5.一种程序调试装置,其特征在于,所述装置包括:
获取单元,用于获取用户选中的待调试代码片段在程序代码中的位置信息;
断点标记单元,用于根据所述位置信息,在程序代码中查找待调试代码片段,将所述待调试代码片段标记为断点;
读取单元,用于查找位于所述断点之前的一个预设的快照点,从预先保存的执行记录队列中读取所述快照点对应的快照,所述快照包括内存信息;
返回单元,用于将所述快照恢复到内存中,从所述快照点开始执行代码,运行到所述断点处,返回内存信息。
6.如权利要求5所述的程序调试装置,其特征在于,所述预先保存的执行记录队列通过以下方式获得:
在所述程序代码首次运行过程中,保存运行到预设的快照点处内存的快照;
当执行到调用结果不固定的函数或外部链接的代码片段时,将调用到的数据作为执行数据保存;
将快照、执行数据和系统上下文按次序保存为执行记录队列。
7.如权利要求6所述的程序调试装置,其特征在于,所述返回单元具体用于:
将所述快照恢复到内存中,从所述快照点开始执行代码,运行到所述断点处,中途若遇到调用结果不固定的函数或外部链接的代码片段时,不执行所述代码片段,从预先保存的执行记录队列中获取对应的执行数据使用。
8.如权利要求5所述的程序调试装置,其特征在于,所述装置还包括:
定位单元,用于接收定位条件,在执行代码的过程中,判断内存中的数据和系统上下文是否满足定位条件,若满足定位条件,将满足所述定位条件时的内存信息返回。
9.一种计算机系统,其特征在于,所述系统包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如权利要求1-4任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海豹云网络信息服务有限公司,未经上海豹云网络信息服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011172303.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种油炸花生的后处理设备
- 下一篇:一种用于直接空冷系统的智能在线测温系统