发明名称 |
定位程序代码中bug的方法及相关装置 |
摘要 |
本发明实施例公开了定位程序代码中bug的方法及相关装置。其中,一种定位程序代码中bug的方法,可包括:在程序代码段中的逻辑代码子段操作状态机的过程中,将逻辑代码子段所对应的逻辑标识变量的取值,赋给逻辑代码子段所操作的状态机的探测标记变量;获取程序代码段中的逻辑代码子段操作状态机过程中异常退出时所对应的最顶层上下文;获取在最顶层上下文所对应的堆栈环境之中被操作的状态机的探测标记变量的当前取值;利用获取的被操作的状态机的探测标记变量的当前取值,查找出程序代码段中的第一逻辑代码子段;输出程序代码段的bug定位信息。本发明实施例提供的技术方案有利于提高定位程序代码中bug的效率和精确度。 |
申请公布号 |
CN104731696A |
申请公布日期 |
2015.06.24 |
申请号 |
CN201310704156.3 |
申请日期 |
2013.12.19 |
申请人 |
腾讯科技(深圳)有限公司 |
发明人 |
周飞虎;谢立强 |
分类号 |
G06F11/36(2006.01)I |
主分类号 |
G06F11/36(2006.01)I |
代理机构 |
深圳市深佳知识产权代理事务所(普通合伙) 44285 |
代理人 |
杨伦 |
主权项 |
一种定位程序代码中bug的方法,其特征在于,包括:在程序代码段中的逻辑代码子段操作状态机的过程中,将所述逻辑代码子段所对应的逻辑标识变量的取值,赋给所述逻辑代码子段所操作的状态机的探测标记变量,或者,将所述逻辑代码子段所对应的逻辑标识变量的取值进行预设数学变换而得到的变换值,赋给所述逻辑代码子段所操作的状态机的探测标记变量;获取所述程序代码段中的逻辑代码子段操作状态机过程中异常退出时所对应的最顶层上下文;获取在所述最顶层上下文所对应的堆栈环境之中被操作的状态机的探测标记变量的当前取值;利用获取的所述被操作的状态机的探测标记变量的当前取值,查找出所述程序代码段中的第一逻辑代码子段,其中,所述第一逻辑代码子段所对应的逻辑标识变量的取值或所述第一逻辑代码子段所对应的逻辑标识变量的取值进行预设数学变换而得到的变换值,等于所述获取的所述被操作的状态机的探测标记变量的当前取值;输出所述程序代码段的bug定位信息,其中,所述bug定位信息包括所述第一逻辑代码子段中的至少一个语句。 |
地址 |
518000 广东省深圳市福田区振兴路赛格科技园2栋东403室 |