[发明专利]脚本语言代码调试方法及装置、可读存储介质及电子设备在审
申请号: | 202110635215.0 | 申请日: | 2021-06-08 |
公开(公告)号: | CN113342654A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 明畅;田宛欣 | 申请(专利权)人: | 广州博冠信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 王辉;阚梓瑄 |
地址: | 510000 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 脚本语言 代码 调试 方法 装置 可读 存储 介质 电子设备 | ||
1.一种脚本语言代码调试方法,其特征在于,包括:
获取当前在虚拟机中被执行的操作码的第一位置属性,所述第一位置属性包括所述操作码所属的目标脚本代码文件的标识和所述操作码对应的脚本代码在所述目标脚本代码文件中的位置信息;
将所述第一位置属性和预设断点存储容器中配置的断点的第二位置属性进行匹配;
在匹配成功时,调用预设断点跳转函数以在所述操作码处触发断点调试功能。
2.根据权利要求1所述的脚本语言代码调试方法,其特征在于,所述预设断点存储容器包括预设断点存储数组,所述预设断点存储数组中每个元素存储的断点数据包括所述断点的第二位置属性和所述元素的断点状态;
其中,所述断点的第二位置属性包括断点所属的脚本代码文件的标识和断点在所述脚本代码文件中的位置信息;
所述元素的断点状态包括未存储断点或存储的断点已被移除的第一状态、已存储断点且已存储的断点无效的第二状态、已存储断点且已存储的断点有效的第三状态。
3.根据权利要求2所述的脚本语言代码调试方法,其特征在于,所述方法还包括:
响应于添加目标断点的操作指令,根据元素的索引值的升序顺序遍历所述预设断点存储数组中的元素,在遍历到断点状态为第一状态的元素时,将所述目标断点的第二位置属性存储至所述元素中,并将所述元素的断点状态重新配置为第三状态;
响应于移除目标断点的操作指令,将所述目标断点对应的目标元素的断点状态重新配置为第一状态,在所述目标断点对应的目标元素之后存在断点状态为第二状态或第三状态的待调整元素时,针对所述待调整元素,依次将所述待调整元素中存储的断点数据前移至所述待调整元素对应的前一个元素中进行存储;
其中,在所述预设断点存储数组中,位于目标元素之后的待调整元素的索引值大于所述目标元素的索引值。
4.根据权利要求3所述的脚本语言代码调试方法,其特征在于,所述方法还包括:
响应于针对目标断点的无效状态配置指令,在所述预设断点存储数组中,将所述目标断点对应的目标元素的断点状态重新配置为第二状态;
响应于针对目标断点的有效状态配置指令,在所述预设断点存储数组中,将所述目标断点对应的目标元素的断点状态重新配置为第三状态;
响应于断点查询操作指令,查询所述预设断点存储数组中存储的断点数据,并根据第一预设格式在客户端显示查询到的所述断点数据。
5.根据权利要求3所述的脚本语言代码调试方法,其特征在于,所述将所述第一位置属性和预设断点存储容器中配置的断点的第二位置属性进行匹配,包括:
根据所述预设断点存储数组中的元素的索引值的升序顺序,遍历所述预设断点存储数组中的元素;
在遍历到存储的第二位置属性与所述第一位置属性相同且断点状态为第三状态的元素时,停止遍历且确定所述第一位置属性和所述预设断点存储容器中配置的断点的第二位置属性匹配成功。
6.根据权利要求5所述的脚本语言代码调试方法,其特征在于,所述方法还包括:
在遍历到存储的断点状态为第一状态的元素时,停止遍历且确定所述第一位置属性和所述预设断点容器中配置的断点的第二位置属性匹配失败,以使所述虚拟机继续执行下一个操作码。
7.根据权利要求1所述的脚本语言代码调试方法,其特征在于,所述将所述第一位置属性和预设断点存储容器中配置的断点的第二位置属性进行匹配,包括:
在中断方式为运行到下一个断点处时,将所述第一位置属性和预设断点存储容器中配置的断点的第二位置属性进行匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州博冠信息科技有限公司,未经广州博冠信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110635215.0/1.html,转载请声明来源钻瓜专利网。