The embodiment of the invention provides a code processing method and device. By the method of the embodiment of the present invention, it is not necessary for a programmer to manually check the source code of a possible error in the source file. When the compiled machine code runs incorrectly, the machine code is regarded as the error machine code, and then the memory address of the compiled error machine code is obtained, and the error is determined according to the memory address. Error machine code belongs to a function, then according to the storage address to determine the location of the error machine code in the function, and get the source code of the function before compilation, then in this source code location can find the error machine code corresponding to the pre-compilation source code, thereby improving the lookup error machine generation. The code corresponds to the efficiency of the pre compiled source code, as well as the reduction of labor cost.
【技术实现步骤摘要】
一种代码处理方法及装置
本专利技术涉及计算机
,特别是涉及一种代码处理方法及装置。
技术介绍
随着技术的飞速发展,计算机软件得到了广泛应用,当前,为了自动化地实现某一目的,编程人员事先需要编写用于实现该目的的源文件,该源文件中包括源代码,然后存储该源文件。之后当需要实现该目的时,可以获取用于实现该目的的源文件,然后对源代码编译,得到编译后的机器代码,再将编译后的机器代码存储在内存中,之后从内存中获取机器代码,然后运行机器代码。然而,编程人员事先在编写源文件时,有时候会由于人为疏忽导致源文件中的某些行的源代码出现一些错误,例如语法错误或者单词拼写错误等。如果某一行的源代码出现错误,则系统在运行该行的源代码对应的编译后的机器代码时往往会出错,例如无法成功运行该行的源代码对应的编译后的机器代码,也无法继续运行位于该行的源代码之后的源代码对应的编译后的机器代码,从而导致此次运行在该机器代码处中断。由于编程人员也无法确定是哪一行的源代码出现错误,因此,为了能够成功运行修改后的该行的源代码对应的编译后的机器代码,以及能够继续运行位于该行的源代码之后的源代码对应的编译后的 ...
【技术保护点】
1.一种代码处理方法,其特征在于,所述方法包括:获取编译后的错误机器代码的存储地址;根据所述存储地址确定所述错误机器代码所属的函数;根据所述存储地址确定所述错误机器代码在所述函数中的位置;获取所述函数的编译前的源代码;在所述源代码的所述位置处查找所述错误机器代码对应的编译前的源代码。
【技术特征摘要】
1.一种代码处理方法,其特征在于,所述方法包括:获取编译后的错误机器代码的存储地址;根据所述存储地址确定所述错误机器代码所属的函数;根据所述存储地址确定所述错误机器代码在所述函数中的位置;获取所述函数的编译前的源代码;在所述源代码的所述位置处查找所述错误机器代码对应的编译前的源代码。2.根据权利要求1所述的方法,其特征在于,所述获取编译后的错误机器代码的存储地址,包括:获取所述错误机器代码的堆栈信息,所述堆栈信息是在所述错误机器代码运行出错时生成的,所述堆栈信息中至少包括所述错误机器代码的存储地址;从所述堆栈信息中提取出所述存储地址,并作为所述错误机器代码的存储地址。3.根据权利要求1所述的方法,其特征在于,所述根据所述存储地址确定所述错误机器代码所属的函数,包括:获取函数的存储地址范围与函数的函数名称之间的对应关系;在所述对应关系中查找所述存储地址所在的存储地址范围;在所述对应关系中查找与所述存储地址范围相对应的函数名称;将所述函数名称所对应的函数确定为所述错误机器代码所属的函数。4.根据权利要求3所述的方法,其特征在于,所述根据所述存储地址确定所述错误机器代码在所述函数中的位置,包括:获取所述存储地址在所述存储地址范围中的偏移量,并作为所述错误机器代码在所述函数中的位置。5.根据权利要求1所述的方法,其特征在于,所述获取所述函数的编译前的源代码,包括:获取所述函数的中间代码,所述中间代码是事先在编译所述函数的编译前的源代码的过程中生成的;将所述中间代码反编译,得到所述函数的编译前的源代码。6.一种代码处理装置,其特征在于,所述装置包括:第一获取...
【专利技术属性】
技术研发人员:王恒,
申请(专利权)人:北京奇艺世纪科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。