[发明专利]一种定位程序代码中bug的方法及装置在审
申请号: | 201710633002.8 | 申请日: | 2017-07-28 |
公开(公告)号: | CN107491388A | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 刘均;赖宇进 | 申请(专利权)人: | 深圳市元征科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518100 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 程序代码 bug 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种定位程序代码中bug的方法及装置。
背景技术
随着计算机技术的发展,越来越多的计算机应用程序出现在人们的工作和生活中,并极大的方便了人们的工作和生活。然而,随着应用程序的功能多样化,应用程序越来越复杂,出现bug的概率越来越高,由此导致了频繁的应用程序调试。当应用程序出现bug后,需要快速的定位bug然后解决问题。现有技术中,一般都是通过程序提供的日志函数记录可能出现问题地方的信息,当出现问题后通过查看日志问题来定位问题,但一般不是所有情况都能考虑到,当出现没考虑到的情况时,日志是无法定位问题的,接下来只能补充日志,经过严格测试,再把代码部署到正式环境。如果上述添加日志函数还不能定位问题,将重复上述步骤继续添加日志函数,如此往复,直到定位到问题。这种定位方式不能快速的解决bug,效率较低,无法满足用户的需求。
发明内容
本发明实施例提供一种定位程序代码中bug的方法及装置,以解决现有技术中应用程序bug定位效率较低的问题,实现bug快速定位,提高程序调试效率。
第一方面,本发明实施例提供一种定位程序代码中bug的方法,所述方法包括:接收用户的程序调试指令,确定需要调试的程序;确定需要调试的代码;将所述调试代码命名为测试文件并保存进临时目录;调用执行指令运行所述测试文件;将所述测试文件的运行结果与程序运行结果进行匹配;若完全匹配,则修改所述测试文件;调用执行指令运行修改后的测试文件;将所述修改后的测试文件的运行结果与期望结果进行匹配;若完全匹配,则完成bug定位;输出bug定位结果。
结合本发明实施例第一方面,在本发明实施例第一方面的第一种可能的实现方式中,所述确定需要调试的代码,具体包括:确定所述需要调试的程序的代码特性参数;根据所述代码特性参数按照预设规则确定需要调试的代码。
结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,所述代码特性参数包括代码长度,所述根据所述代码特性参数按照预设规则确定需要调试的代码,具体包括:根据所述代码长度将所述需要调试的程序分段,确定其中的一段分段代码为需要调试的代码。
结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述方法还包括:所述代码特性参数包括代码功能模块分布,所述根据所述代码特性参数按照预设规则确定需要调试的代码,具体包括:根据代码功能模块分布确定bug对应的功能模块代码段;确定所述bug对应的功能模块代码段为需要调试的代码。
结合本发明实施例第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,在所述调用执行指令运行所述测试文件之前,所述方法还包括:将所述调试代码的接口代码保存进所述临时目录;检测所述接口代码的引用路径是否正确;若不正确,则修改接口代码的引用路径,使其能正确引用所述程序的目录文件。
本发明第二方面提供了一种定位程序代码中bug的装置,所述装置包括:接收单元,用于接收用户的程序调试指令,确定需要调试的程序;确定单元,用于确定需要调试的代码;保存单元,用于将所述调试代码命名为测试文件并保存进临时目录;运行单元,用于调用执行指令运行所述测试文件;匹配单元,用于将所述测试文件的运行结果与程序运行结果进行匹配;修改单元,用于若匹配单元的结果为完全匹配,则修改所述测试文件;所述运行单元,还用于调用执行指令运行修改后的测试文件;所述匹配单元,还用于将所述修改后的测试文件的运行结果与期望结果进行匹配;定位单元,用于若匹配单元的结果为完全匹配,则完成bug定位;输出单元,用于输出bug定位结果。
结合本发明实施例第二方面,在本发明实施例第二方面的第一种可能的实现方式中,所述确定单元具体用于:确定所述需要调试的程序的代码特性参数;根据所述代码特性参数按照预设规则确定需要调试的代码。
结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述代码特性参数包括代码长度,所述确定单元具体用于:根据所述代码长度将所述需要调试的程序分段,确定其中的一段分段代码为需要调试的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市元征科技股份有限公司,未经深圳市元征科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710633002.8/2.html,转载请声明来源钻瓜专利网。