一种代码定位方法、装置、电子设备以及存储介质与流程

摘要: 本公开涉及计算机,尤其涉及代码定位,具体地,涉及一种代码定位方法、装置、电子设备、存储介质以及程序产品。背景技术:1、在代码仓库的智能化维护与问题定位场景中,通...
一种代码定位方法、装置、电子设备以及存储介质与流程

本公开涉及计算机,尤其涉及代码定位,具体地,涉及一种代码定位方法、装置、电子设备、存储介质以及程序产品。

背景技术:

1、在代码仓库的智能化维护与问题定位场景中,通常需要借助大语言模型驱动的代理来自动定位代码中的缺陷或异常位置。在相关示例中,代理从多个针对不同类型的代码查询需求的工具中选择一个工具进行代码查找,并通过多轮交互逐步查看局部代码,以实现问题代码定位。例如,代理可调用搜索类工具检索关键词,调用函数搜索工具查找特定函数定义,调用导入关系获取工具分析文件间的依赖关系,或调用文件读取工具查看具体代码内容。

技术实现思路

1、本公开提供了一种代码定位方法、装置、电子设备、存储介质以及程序产品。

2、根据本公开的一方面,提供了一种代码定位方法,包括:获取代码定位请求,其中,代码定位请求包括问题描述信息、起始代码片段、起始代码片段在代码仓库中的文件路径;根据问题描述信息,从起始代码片段中确定待跳转符号;根据待跳转符号及起始代码片段的文件路径,按照预设指令格式生成符号解析指令,并向符号解析工具发送符号解析指令;以及接收符号解析工具根据符号解析指令解析待跳转符号得到的定义代码信息,作为代码定位结果。

3、根据本公开的另一方面,提供了一种代码定位装置,包括:第一获取模块,用于获取代码定位请求,其中,代码定位请求包括问题描述信息、起始代码片段、起始代码片段在代码仓库中的文件路径;第一确定模块,用于根据问题描述信息,从起始代码片段中确定待跳转符号;生成模块,用于根据待跳转符号及起始代码片段的文件路径,按照预设指令格式生成符号解析指令,并向符号解析工具发送符号解析指令;第二确定模块,用于接收符号解析工具根据符号解析指令解析待跳转符号得到的定义代码信息,作为代码定位结果。

4、根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的方法。

5、根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的方法。

6、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述的方法。

7、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

1.一种代码定位方法,包括:

2.根据权利要求1所述的方法,其中,所述根据问题描述信息,从所述起始代码片段中确定待跳转符号包括:

3.根据权利要求2所述的方法,其中,所述从所述至少一个候选符号中确定与所述问题描述信息相关的候选符号,得到所述待跳转符号包括:

4.根据权利要求1~3中任一项所述的方法,还包括:

5.根据权利要求1~4中任一项所述的方法,其中,所述符号解析工具根据所述符号解析指令解析所述待跳转符号包括:

6.根据权利要求5所述的方法,其中,所述基于所述位置信息解析所述待跳转符号包括:

7.根据权利要求6所述的方法,其中,所述利用所述目标符号类型对应的解析方式,基于所述位置信息解析所述待跳转符号包括:

8.根据权利要求1~7中任一项所述的方法,还包括:

9.根据权利要求8所述的方法,其中,所述定义代码信息包括定义代码片段;

10.根据权利要求9所述的方法,其中,所述预设终止条件包括以下至少之一:

11.一种代码定位装置,包括:

12.一种电子设备,包括:

13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。

14.一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的方法。