CN105786537A - 一种热补丁的实现方法和装置 - Google Patents
一种热补丁的实现方法和装置 Download PDFInfo
- Publication number
- CN105786537A CN105786537A CN201410816631.0A CN201410816631A CN105786537A CN 105786537 A CN105786537 A CN 105786537A CN 201410816631 A CN201410816631 A CN 201410816631A CN 105786537 A CN105786537 A CN 105786537A
- Authority
- CN
- China
- Prior art keywords
- function
- file
- executable file
- patch
- new executable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
本发明提供一种热补丁的实现方法和装置。所述方法,包括:从目标文件中获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;确定所述新的可执行文件在所述目标侧运行时对应的地址信息;根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
Description
技术领域
本发明涉及通信领域,尤其涉及一种热补丁的实现方法和装置。
背景技术
热补丁是一种快速、低成本修复产品软件版本缺陷的方式。与升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复。热补丁的处理方式基本是以函数为单位,即通过对出现漏洞或者需要替换的函数进行修复,以实现对当前软件版本的修复。具体来说,其工作原理是通过替换被补丁函数的第一条指令为跳转到替换函数中的指令,使程序跳转到新函数所在位置处执行,当替换函数中的补丁代码执行完毕后,回到调用老函数的代码中,从而完成整个调用过程。
现有技术中公开了的热补丁方法分为两步骤执行:1)首先在主机上,用补丁制作工具根据热补丁源码制作出可重定向的热补丁文件。2)然后将该热补丁文件下载到目标机上并重启,在启动过程中,补丁控制模块加载目标机的系统文件和热补丁文件,根据系统文件提供的符号表进行重定位,生成最终的目标热补丁文件,3)最后激活目标热补丁文件,从该系统文件的入口启动目标系统。
热补丁的实现方法会造成内存空间的浪费,也会增加加载过程的复杂度,甚至同一个函数或变量在内存中有多个拷贝,可能会造成函数调用或变量引用的不一致,严重的会导致系统崩溃。
发明内容
本发明提供一种热补丁的实现方法和装置,要解决的技术问题是如何减少降低补丁加载的复杂度。
为解决上述技术问题,本发明提供了如下技术方案:
一种热补丁的实现方法,包括:从目标文件中获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;确定所述新的可执行文件在所述目标侧运行时对应的地址信息;根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
其中,所述替换函数的文件信息包括对目标文件做.text.bss.rodata.data段的提取操作,得到所述文件信息。
其中,根据所述文件信息,为所述待补丁的函数生成新的可执行文件,包括:利用所述文件信息生成所述新的可执行文件的结构文件;调整所述结构文件中函数的调用关系以及变量的引用关系;在完成调整操作后,生成所述可执行文件的节头表,得到所述新的可执行文件。
其中,确定所述新的可执行文件在所述目标文件运行时对应的地址信息,包括:获取符号表以及对应的符号地址表;根据符号地址表,把所述可执行文件中的符号地址重定位成内存调用地址。
其中,所述根据所述地址信息,为所述新的可执行文件在所述目标文件运行时生成对应的替换指令信息,包括:通过替换需要补丁的函数的第一条指令为跳转到所述可执行文件运行的起始位置,并在所述替换函数执行完毕后,回到替换需要补丁的函数中。
一种热补丁的实现装置,包括:获取模块,用于从目标文件中获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;第一生成模块,用于根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;确定模块,用于确定所述新的可执行文件在所述目标侧运行时对应的地址信息;第二生成模块,用于根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;通知模块,用于通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
其中,所述替换函数的文件信息包括对目标文件做.text.bss.rodata.data段的提取操作,得到所述文件信息。
其中,所述第一生成模块包括:第一生成单元,用于利用所述文件信息生成所述新的可执行文件的结构文件;调整单元,用于调整所述结构文件中函数的调用关系以及变量的引用关系;第二生成单元,用于在完成调整操作后,生成所述可执行文件的节头表,得到所述新的可执行文件。
其中,所述确定模块包括:获取单元,用于获取符号表以及对应的符号地址表;重定位单元,用于根据符号地址表,把所述可执行文件中的符号地址重定位成内存调用地址。
其中,所述第二生成模块具体用于:通过替换需要补丁的函数的第一条指令为跳转到所述可执行文件运行的起始位置,并在所述替换函数执行完毕后,回到替换需要补丁的函数中。
本发明提供的实施例,与现有技术中把整个目标文件的代码段和数据段都提取出来,然后构造成目标热补丁文件,并在该热补丁加载时全部写入内存空间的实现方式相比,本发明只对需要补丁的函数生成补丁文件,这样不仅可以减少补丁的尺寸,还可以减少加载补丁所需要的预留内存空间,而且便于管理,避免函数调用的不一致性,达到降低补丁加载的复杂度的目的。
附图说明
图1为本发明实施例提供的热补丁的实现方法的流程示意图;
图2为本发明提供的目标侧管理补丁的示意图;
图3为本发明实施例提供的热补丁的实现装置的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例提供的热补丁的实现方法的流程示意图。图1所示方法实施例,包括:
步骤101、获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;
步骤102、根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;
步骤103、确定所述新的可执行文件在所述目标侧运行时对应的地址信息;
步骤104、根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;
步骤105、通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
本发明提供的方法实施例,与现有技术中把整个目标文件的代码段和数据段都提取出来,然后构造成目标热补丁文件,并在该热补丁加载时全部写入内存空间的实现方式相比,本发明只对需要补丁的函数生成补丁文件,这样不仅可以减少补丁的尺寸,还可以减少加载补丁所需要的预留内存空间,而且便于管理,避免函数调用的不一致性,达到降低补丁加载的复杂度的目的。
下面对本发明提供的方法做进一步说明:
在制作软件补丁时,根据需要打补丁的源文件,首先分析补丁目标文件,对目标文件做.text.bss.rodata.data段的提取操作,得到所述文件信息。
其中,根据所述文件信息,为所述待补丁的函数生成新的可执行文件,包括:利用所述文件信息生成所述新的可执行文件的结构文件;调整所述结构文件中函数的调用关系以及变量的引用关系;在完成调整操作后,生成所述可执行文件的节头表,得到所述新的可执行文件。
新的可执行文件是通过如下方式得到的,包括:
读取补丁目标文件(可执行文件——ExecutableandLinkingFormat,ELF)结构目标文件中的头部,并根据ELF头部信息提供的节头addr和size,读取各节头记录的信息和内存地址存储的信息;
分析.text节,在.text节中抽取替换函数的代码段;
分析.rodata节。在.rodata节中抽取替换函数引用到的只读数据,并合并成一个新的rodata节;
构建只包含替换函数代码段,rodata节,符号节的ELF结构目标文件,并以.text.bss.rodata.data作为基地址,addend作为偏移量重设重定位的信息;
重新设置各节头部的addr以及size,构建新的ELF文件。
其中,确定所述新的可执行文件在所述目标文件运行时对应的地址信息,包括:获取符号表以及对应的符号地址表;根据符号地址表,把所述可执行文件中的符号地址重定位成内存调用地址。
具体来说,在主机侧完成重定位符号的地址,首先分析目标版本的符号信息,将符号信息生成一个索引表,该索引表包括如下符号的地址,如全局变量,全局函数,静态变量,静态函数,静态局部变量等地址,然后在该索引表中查找待重定位的符号,获取到实际真实地址。分析新的ELF文件,通过查找镜像文件中符号的真实地址,去替换ELF目标文件中重定位符号地址,完成重定位的工作,把函数调用和变量地址确定下来。
其中重定位的过程具体如下:
读取内核镜像原文件中的预留补丁区域,符号表以及对应的符号地址表;
根据符号地址表,把输入目标文件中所引用的符号地址重定位成符号真实的内存地址。
其中,所述根据所述地址信息,为所述新的可执行文件在所述目标文件运行时生成对应的替换指令信息,包括:通过替换需要补丁的函数的第一条指令为跳转到所述可执行文件运行的起始位置,并在所述替换函数执行完毕后,回到调用目标文件中。
根据替换函数的源地址和目标地址生成一个替换函数表,供目标机侧做指令跳转操作。其中源地址是补丁修改前的符号地址,目标地址是补丁修改后的符号地址,它位于补丁区中。根据预留补丁区域地址,在主机侧构造函数替换指令表。根据不同CPU构架,构造跳转指令。其主要工作原理是,通过替换原老函数的第一条指令为跳转到新函数中的指令,使程序跳转到新函数所在位置处执行,当新函数中的补丁代码执行完毕后,回到调用老函数的代码中,完成整个调用过程。
由上可以看出,上述补丁制作过程,全部在主机侧完成,且对目标文件做.text.bss.rodata.data段的提取操作,提取需要的ELF段做补丁,有效地减少了补丁大小,降低了目标机侧的内存消耗;
另外,在主机侧对重定位符号进行重定位操作,分析镜像原文件中的符号表,对不同类型的符号生成对应的地址对应表,然后查找目标文件的重定位符号地址。
例如,普通非静态函数func_name:
{func_name,地址}
全局变量global_var_name:
{global_var_name,地址}
对于静态符号,采用加前缀的方法来标识,其中file表示符号所在的文件,function表示符号所在的函数。
静态局部变量static_localvar_name:
{file_function_static_localvar_name,地址}
静态变量static_var_name:
{file_static_var_name,地址}
静态函数static_func_name:
{file_static_func_name,地址}
然后,根据地址对应表,实现普通函数,全局变量,静态局部变量,静态变量和静态函数等符号的重定位,并且上述操作都是在主机侧完成,而无需修改目标机侧的代码,从而大大提高了补丁制作的灵活性和可移植性。
图2为本发明提供的目标侧管理补丁的示意图。图2所示示意图中目标侧实现补丁的加载,激活,补丁自动激活,去激活,卸载操作。其状态转换控制采用命令驱动的方式运行,由状态机来控制,保证状态迁移正确性。具体说明如下:
补丁加载流程:首先判断补丁和系统软件的版本号是否符合一致,如果不一致直接退出;如果一致,则将补丁文件加载写入到flash中,然后读取该文件中函数替换表,根据需要加载补丁预留区域的地址,把替换函数的代码段,只读数据段写入到内存中。补丁加载后,补丁的状态为非激活状态,并把补丁的状态写入到相应的配置文件中。
补丁激活:根据指令替换表,将被补丁函数地址处的指令改成跳转到替换函数的指令,并把补丁的状态写入到配置文件中。
补丁自动激活:将补丁状态修改为自动激活状态,保存在补丁配置文件中,下次重起时会加载补丁继续生效,并把补丁的状态写入到配置文件中。
补丁去激活:根据指令替换表,将被补丁函数地址处的跳转指令替换为原来的指令。成功后,补丁状态修改为非激活状态,并把补丁的状态写入到配置文件中。
补丁卸载:释放补丁文件所占用的flash空间,以及内存空间,并把补丁函数地址处的跳转指令替换为原来的指令,并把补丁的状态写入到配置文件中。
补丁状态查询:通过读取配置文件,可以查看当前补丁所处的状态。
由此可以看出,采用了本发明提供的热补丁方式,目标侧仍可以按照现有技术的补丁方式,对现有流程改动小,因此本发明提供的方案适用性强。
图3为本发明提供的热补丁的实现装置的结构示意图。结合图1所示的方法实施例,图3所示装置包括:
获取模块301,用于从目标文件中获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;
第一生成模块302,用于根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;
确定模块303,用于确定所述新的可执行文件在所述目标侧运行时对应的地址信息;
第二生成模块304,用于根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;
通知模块305,用于通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
其中,所述替换函数的文件信息包括对目标文件做.text.bss.rodata.data段的提取操作,得到所述文件信息。
其中,所述第一生成模块302包括:
第一生成单元,用于利用所述文件信息生成所述新的可执行文件的结构文件;
调整单元,与所述第一生成单元相连,用于调整所述结构文件中函数的调用关系以及变量的引用关系;
第二生成单元,与所述调整单元相连,用于在完成调整操作后,生成所述可执行文件的节头表,得到所述新的可执行文件。
其中,所述确定模块303包括:
获取单元,用于获取符号表以及对应的符号地址表;
重定位单元,用于根据符号地址表,把所述可执行文件中的符号地址重定位成内存调用地址。
其中,所述第二生成模块304具体用于:
通过替换需要补丁的函数的第一条指令为跳转到所述可执行文件运行的起始位置,并在所述替换函数执行完毕后,回到替换需要补丁的函数中。
本发明提供的装置实施例,与现有技术中把整个目标文件的代码段和数据段都提取出来,然后构造成目标热补丁文件,并在该热补丁加载时全部写入内存空间的实现方式相比,本发明只对需要补丁的函数生成补丁文件,这样不仅可以减少补丁的尺寸,还可以减少加载补丁所需要的预留内存空间,而且便于管理,避免函数调用的不一致性,达到降低补丁加载的复杂度的目的。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (10)
1.一种热补丁的实现方法,其特征在于,包括:
从目标文件中获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;
根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;
确定所述新的可执行文件在所述目标侧运行时对应的地址信息;
根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;
通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
2.根据权利要求1所述的方法,其特征在于,所述替换函数的文件信息包括对目标文件做.text.bss.rodata.data段的提取操作,得到所述文件信息。
3.根据权利要求2所述的方法,其特征在于,根据所述文件信息,为所述待补丁的函数生成新的可执行文件,包括:
利用所述文件信息生成所述新的可执行文件的结构文件;
调整所述结构文件中函数的调用关系以及变量的引用关系;
在完成调整操作后,生成所述可执行文件的节头表,得到所述新的可执行文件。
4.根据权利要求1所述的方法,其特征在于,确定所述新的可执行文件在所述目标文件运行时对应的地址信息,包括:
获取符号表以及对应的符号地址表;
根据符号地址表,把所述可执行文件中的符号地址重定位成内存调用地址。
5.根据权利要求1所述的方法,其特征在于,所述根据所述地址信息,为所述新的可执行文件在所述目标文件运行时生成对应的替换指令信息,包括:
通过替换需要补丁的函数的第一条指令为跳转到所述可执行文件运行的起始位置,并在所述替换函数执行完毕后,回到替换需要补丁的函数中。
6.一种热补丁的实现装置,其特征在于,包括:
获取模块,用于从目标文件中获取替换函数的文件信息,其中所述替换函数用于替换目标侧上需要补丁的函数;
第一生成模块,用于根据所述文件信息,为所述需要补丁的函数生成新的可执行文件;
确定模块,用于确定所述新的可执行文件在所述目标侧运行时对应的地址信息;
第二生成模块,用于根据所述地址信息,为所述新的可执行文件在所述目标侧运行时生成对应的替换指令信息;
通知模块,用于通知所述目标侧利用所述替换指令信息运行所述新的可执行文件。
7.根据权利要求6所述的装置,其特征在于,所述替换函数的文件信息包括对目标文件做.text.bss.rodata.data段的提取操作,得到所述文件信息。
8.根据权利要求7所述的装置,其特征在于,所述第一生成模块包括:
第一生成单元,用于利用所述文件信息生成所述新的可执行文件的结构文件;
调整单元,用于调整所述结构文件中函数的调用关系以及变量的引用关系;
第二生成单元,用于在完成调整操作后,生成所述可执行文件的节头表,得到所述新的可执行文件。
9.根据权利要求6所述的装置,其特征在于,所述确定模块包括:
获取单元,用于获取符号表以及对应的符号地址表;
重定位单元,用于根据符号地址表,把所述可执行文件中的符号地址重定位成内存调用地址。
10.根据权利要求6所述的装置,其特征在于,所述第二生成模块具体用于:
通过替换需要补丁的函数的第一条指令为跳转到所述可执行文件运行的起始位置,并在所述替换函数执行完毕后,回到替换需要补丁的函数中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410816631.0A CN105786537A (zh) | 2014-12-24 | 2014-12-24 | 一种热补丁的实现方法和装置 |
PCT/CN2015/078896 WO2016101503A1 (zh) | 2014-12-24 | 2015-05-13 | 一种热补丁的实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410816631.0A CN105786537A (zh) | 2014-12-24 | 2014-12-24 | 一种热补丁的实现方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105786537A true CN105786537A (zh) | 2016-07-20 |
Family
ID=56149087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410816631.0A Pending CN105786537A (zh) | 2014-12-24 | 2014-12-24 | 一种热补丁的实现方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105786537A (zh) |
WO (1) | WO2016101503A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357622A (zh) * | 2017-07-17 | 2017-11-17 | 迈普通信技术股份有限公司 | 热补丁实现方法及通信设备 |
CN107643924A (zh) * | 2017-09-29 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种内核态客户端的升级方法、系统、设备及存储介质 |
CN111399892A (zh) * | 2020-03-18 | 2020-07-10 | 深圳Tcl数字技术有限公司 | 中间件程序修复方法、装置及计算机可读存储介质 |
CN111796832A (zh) * | 2020-06-30 | 2020-10-20 | 苏州三六零智能安全科技有限公司 | 热补丁文件生成方法、装置、设备及存储介质 |
CN111949290A (zh) * | 2020-07-14 | 2020-11-17 | 锐捷网络股份有限公司 | 一种热补丁管理方法、装置、电子设备及存储介质 |
CN112084112A (zh) * | 2020-09-11 | 2020-12-15 | 北京金山云网络技术有限公司 | 热补丁的测试方法、装置和服务器 |
WO2022111664A1 (zh) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | 打补丁的方法、相关设备及系统 |
CN112084112B (zh) * | 2020-09-11 | 2024-04-26 | 北京金山云网络技术有限公司 | 热补丁的测试方法、装置和服务器 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656753A (zh) * | 2016-07-25 | 2018-02-02 | 中兴通讯股份有限公司 | 一种补丁实现方法及装置 |
CN111897555A (zh) * | 2019-05-06 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 客户端的动态更新方法、装置、系统及终端设备 |
CN110045980B (zh) * | 2019-05-22 | 2022-09-02 | 东信和平科技股份有限公司 | 一种对nb-iot设备的远程升级方法、设备及系统 |
CN113760340B (zh) * | 2020-06-05 | 2024-02-20 | 大唐移动通信设备有限公司 | 一种应用于Linux系统的热补丁方法和装置 |
CN114020504B (zh) * | 2021-10-19 | 2022-08-09 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799763A (zh) * | 2009-02-10 | 2010-08-11 | 华为技术有限公司 | 内核在线补丁的方法、装置和系统 |
CN101937340A (zh) * | 2009-06-29 | 2011-01-05 | 中兴通讯股份有限公司 | 使用补丁对软件进行动态升级与控制的方法和装置 |
CN103019787A (zh) * | 2012-12-14 | 2013-04-03 | 华为技术有限公司 | 函数调用关系确定方法、热补丁升级方法及装置 |
WO2014117169A1 (en) * | 2013-01-28 | 2014-07-31 | Rackspace Us, Inc. | Methods and systems of function-specific tracing |
-
2014
- 2014-12-24 CN CN201410816631.0A patent/CN105786537A/zh active Pending
-
2015
- 2015-05-13 WO PCT/CN2015/078896 patent/WO2016101503A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799763A (zh) * | 2009-02-10 | 2010-08-11 | 华为技术有限公司 | 内核在线补丁的方法、装置和系统 |
CN101937340A (zh) * | 2009-06-29 | 2011-01-05 | 中兴通讯股份有限公司 | 使用补丁对软件进行动态升级与控制的方法和装置 |
CN103019787A (zh) * | 2012-12-14 | 2013-04-03 | 华为技术有限公司 | 函数调用关系确定方法、热补丁升级方法及装置 |
WO2014117169A1 (en) * | 2013-01-28 | 2014-07-31 | Rackspace Us, Inc. | Methods and systems of function-specific tracing |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357622A (zh) * | 2017-07-17 | 2017-11-17 | 迈普通信技术股份有限公司 | 热补丁实现方法及通信设备 |
CN107643924A (zh) * | 2017-09-29 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种内核态客户端的升级方法、系统、设备及存储介质 |
CN111399892A (zh) * | 2020-03-18 | 2020-07-10 | 深圳Tcl数字技术有限公司 | 中间件程序修复方法、装置及计算机可读存储介质 |
CN111796832A (zh) * | 2020-06-30 | 2020-10-20 | 苏州三六零智能安全科技有限公司 | 热补丁文件生成方法、装置、设备及存储介质 |
CN111796832B (zh) * | 2020-06-30 | 2022-11-04 | 苏州三六零智能安全科技有限公司 | 热补丁文件生成方法、装置、设备及存储介质 |
CN111949290A (zh) * | 2020-07-14 | 2020-11-17 | 锐捷网络股份有限公司 | 一种热补丁管理方法、装置、电子设备及存储介质 |
CN112084112A (zh) * | 2020-09-11 | 2020-12-15 | 北京金山云网络技术有限公司 | 热补丁的测试方法、装置和服务器 |
CN112084112B (zh) * | 2020-09-11 | 2024-04-26 | 北京金山云网络技术有限公司 | 热补丁的测试方法、装置和服务器 |
WO2022111664A1 (zh) * | 2020-11-30 | 2022-06-02 | 华为技术有限公司 | 打补丁的方法、相关设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2016101503A1 (zh) | 2016-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786537A (zh) | 一种热补丁的实现方法和装置 | |
CN101937340B (zh) | 使用补丁对软件进行动态升级与控制的方法和装置 | |
CN106095620B (zh) | 一种嵌入式Linux存储分区的开发方法 | |
CN101799763B (zh) | 内核在线补丁的方法、装置和系统 | |
CN104915263A (zh) | 基于容器技术的进程故障处理方法及装置 | |
CN105468717A (zh) | 数据库操作方法和装置 | |
CN102567049A (zh) | 嵌入式操作系统的升级方法 | |
CN105446712A (zh) | 一种应用程序缺陷修补方法及装置 | |
CN103345412A (zh) | 打补丁的方法及装置 | |
CN111045712A (zh) | 一种具有备份功能的单系统升级方法及系统 | |
US10387124B2 (en) | System and method for creating domain specific language | |
CN105573913A (zh) | 一种onu系统中的程序调试方法及系统 | |
CN111142922B (zh) | 应用程序更新方法、装置、终端及服务器 | |
CN103645888A (zh) | 一种自动构建操作系统的系统及方法 | |
CN105045718A (zh) | 基于Linux嵌入式系统的调试系统、方法及修改方法 | |
KR102106449B1 (ko) | 함수 결함을 복구하는 방법, 장치 및 서버 | |
JP2008198060A (ja) | 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法 | |
CN105630530A (zh) | 数字信号处理器多级启动方法及系统 | |
CN110928570A (zh) | 一种固件升级的方法及装置、可读存储介质 | |
CN106528114A (zh) | 安卓固件应用、安卓固件和固件升级方法 | |
CN108958769A (zh) | 一种嵌入式设备软件系统修复方法及系统 | |
CN104699410A (zh) | 一种信息处理方法及电子设备 | |
CN104636574A (zh) | 终端设备升级方法及终端设备 | |
CN111399869A (zh) | 控制直写式曝光机软件升级的方法、控制单元和曝光机 | |
CN112394965B (zh) | 电池管理系统升级和运行方法,控制器,电池管理系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160720 |