码迷,mamicode.com
首页 > 其他好文 > 详细

补丁(patch)文件

时间:2020-03-04 19:02:48      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:激活   str   汇编   复合   diff   代码段   style   内存   nbsp   

补丁(patch):

本质上是文件之间的一系列差异,这些差异能够被diff程序应用在源代码树上。通常用来修复源代码的一些漏洞,从而修复产品版本的缺陷。

补丁分为两种:热补丁 和 冷补丁

两种方式最大的区别是对业务的影响大小,冷补丁需要复位,热补丁不需要。

系统在内存中开辟了补丁区,热补丁是通过INS PATCH复合命令被直接放到补丁区,被激活运行,不需要复位。

虽然热补丁方便,但是当热补丁无法解决遇到的问题时(如不是简单的改写函数就可以的,需要改写全局变量,内存中的代码段也重新改换,代码重新汇编),就需要冷补丁来解决。

冷补丁会重新更换内存中的全局变量、代码段、补丁区,而这些又不能简单的改写就运行,必须通过复位来解决。

打补丁的方式有两种:diff方式git方式

diff方式举例:

# diff -Naur f1.txt f2.txt > my.patch // 生成补丁
# patch -p0 < my.patch // 打补丁

可以利用以上 f1.txtmy.patch 生成打了补丁的 f2.txt 文件,此处略去 diff 、patch、git 命令的用法。

补丁(patch)文件

标签:激活   str   汇编   复合   diff   代码段   style   内存   nbsp   

原文地址:https://www.cnblogs.com/tongyishu/p/12411319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!