用于生成补丁的方法和装置制造方法及图纸

技术编号:17466877 阅读:66 留言:0更新日期:2018-03-15 04:35
本申请实施例公开了用于生成补丁文件的方法和装置。该方法的一具体实施方式包括:获取用于创建目标进程的第一目标文件,其中,该第一目标文件包括第一符号表;获取根据目标源代码文件编译得到的第二目标文件,其中,该第二目标文件包括第二符号表;利用该第一符号表和该第二符号表,确定该第一目标文件与该第二目标文件之间的差异符号;根据该差异符号,生成补丁文件。该实施方式丰富了生成补丁文件的方式。

Methods and devices used to generate patches

The present application embodiment discloses a method and device for generating a patch file. One embodiment of the method includes: obtaining for the first target file, create the target process in which the first target file includes a first symbol table; according to the second acquisition target files, source code files to compile the goal which the second target file includes second symbol table; the first symbol table and the second symbol table sure, the difference between the first and the second target file of the target file symbols; according to the difference of symbols, creating a patch file. The implementation method enriches the way to generate patch files.

【技术实现步骤摘要】
用于生成补丁的方法和装置
本申请实施例涉及计算机
,具体涉及互联网
,尤其涉及用于生成补丁的方法和装置。
技术介绍
在计算机领域,在程序上线运行后,可能随着时间的推移,发现程序中存在错误。此时需要利用补丁文件,去及时修正程序或进程。现有的生成补丁文件的方式,通常是由程序员人工写出补丁文件。
技术实现思路
本申请实施例提出了用于生成补丁的方法和装置。第一方面,本申请实施例提供了一种用于生成补丁的方法,上述方法包括:获取用于创建目标进程的第一目标文件,其中,上述第一目标文件包括第一符号表;获取根据目标源代码文件编译得到的第二目标文件,其中,上述第二目标文件包括第二符号表;利用上述第一符号表和上述第二符号表,确定上述第一目标文件与上述第二目标文件之间的差异符号;根据上述差异符号,生成补丁文件。第二方面,本申请实施例提供了一种用于生成补丁的装置,上述装置包括:第一获取单元,用于获取用于创建目标进程的第一目标文件,其中,上述第一目标文件包括第一符号表;第二获取单元,用于获取根据目标源代码文件编译得到的第二目标文件,其中,上述第二目标文件包括第二符号表;确定单元,用于利用上述第一符号表和本文档来自技高网...
用于生成补丁的方法和装置

【技术保护点】
一种用于生成补丁文件的方法,包括:获取用于创建目标进程的第一目标文件,其中,所述第一目标文件包括第一符号表;获取根据目标源代码文件编译得到的第二目标文件,其中,所述第二目标文件包括第二符号表;利用所述第一符号表和所述第二符号表,确定所述第一目标文件与所述第二目标文件之间的差异符号;根据所述差异符号,生成补丁文件。

【技术特征摘要】
1.一种用于生成补丁文件的方法,包括:获取用于创建目标进程的第一目标文件,其中,所述第一目标文件包括第一符号表;获取根据目标源代码文件编译得到的第二目标文件,其中,所述第二目标文件包括第二符号表;利用所述第一符号表和所述第二符号表,确定所述第一目标文件与所述第二目标文件之间的差异符号;根据所述差异符号,生成补丁文件。2.根据权利要求1所述的方法,其中,符号的符号类型包括只读类型和读写类型;以及所述利用所述第一符号表和所述第二符号表,确定所述第一目标文件与所述第二目标文件之间的差异符号,包括:根据符号类型,将所述第一符号表中的符号划分为第一只读符号集和第一读写符号集,将所述第二符号表中的符号划分为第二只读符号集和第二读写符号集。3.根据权利要求2所述的方法,其中,所述利用所述第一符号表和所述第二符号表,确定所述第一目标文件与所述第二目标文件之间的差异符号,包括:比较所述第一读写符号集和所述第二读写符号集中符号的符号名,确定所述第二读写符号集和所述第一读写符号集之间的差异符号。4.根据权利要求2所述的方法,其中,所述利用所述第一符号表和所述第二符号表,确定所述第一目标文件与所述第二目标文件之间的差异符号,包括:比较第一符号的第一符号内容和第二符号的第二符号内容,其中,所述第一符号是所述第一只读符号集中的符号,所述第二符号是所述第二只读符号集中与所述第一符号对应的符号;生成指示符,其中,指示符为无差异符或差异类型符,无差异符用于指示所述第一符号内容和所述第二符号内容相同,差异类型符用于指示所述第二符号内容相对于所述第一符号内容的差异类型,差异类型包括增加、删除和修改。5.根据权利要求4所述的方法,其中,所述比较第一符号的第一符号内容和第二符号的第二符号内容,包括:对于所述第一符号内容和所述第二符号内容中的需要重定位的字节,确定重定位类型是否相同以及重定位时所使用的符号是否相同;对于所述第一符号内容和所述第二符号内容中的不需要重定位的字节,确定所述不需要重定位的字节是否相同。6.根据权利要求5所述的方法,其中,所述利用所述第一符号表和所述第二符号表,确定所述第一目标文件与所述第二目标文件之间的差异符号,包括:根据指示符,确定所述第一只读符号集和所述第二只读符号集之间的差异符号。7.根据权利要求5所述的方法,其中,所述根据所述差异符号,生成补丁文件,包括:获取差异符号的符号内容和/或差异符号的重定位项;将差异符号的符号名以及以下至少一项:所述符号内容和所述重定位项,保存至预先生成的文件。8.根据权利要求7所述的方法,其中,补丁文件包括数据节、重定位节、符号表节;以及所述将差异符号的符号名以及以下至少一项:所述符号内容和所述重定位项,保存至预先生成的文件,包括:将所述重定位项,保存至重定位节;将所述符号内容,保存至数据节,其中,所述数据节中的符号内容能够索引到保存至重定位节的...

【专利技术属性】
技术研发人员:刘琦张宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1