CN106502755B - 一种检查Linux内核模块未知符号的方法及装置 - Google Patents
一种检查Linux内核模块未知符号的方法及装置 Download PDFInfo
- Publication number
- CN106502755B CN106502755B CN201611067996.3A CN201611067996A CN106502755B CN 106502755 B CN106502755 B CN 106502755B CN 201611067996 A CN201611067996 A CN 201611067996A CN 106502755 B CN106502755 B CN 106502755B
- Authority
- CN
- China
- Prior art keywords
- symbol
- symbols
- unknown
- core
- module
- 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.)
- Active
Links
Images
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
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种检查Linux内核模块未知符号的方法及装置,该方法可以包括:当接收到针对任一内核模块的未知符号的检查指令时,获取加载在所述任一内核模块之前的其他内核模块的导出符号,并添加到预配置的全局符号表中;其中,所述全局符号表仅用于存储导出符号,且初始为空;当所述任一内核模块的任一外部符号不存在于所述全局符号表中时,判定所述任一外部符号为未知符号。在本申请的技术方案中,维护了一用于存储各个内核模块的导出符号的全局符号表,通过确定待检查的内核模块的某一外部符号是否存在于该全局符号表中,可以判定出该外部符号是否为未知符号。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种检查Linux内核模块未知符号的方法及装置。
背景技术
在Linux操作系统中,包括基本内核模块和多个动态内核模块。各个内核模块可以调用自身定义的符号(称之为内部符号),也可以调用其他内核模块定义的符号(称之为外部符号)。每个内核模块都维护了一张符号表,该符号表记录了所属内核模块调用的所有符号,其中,标记了外部符号,以及导出后被其他内核模块调用的符号(称之为导出符号)。当加载内核模块时,要求先前已经加载的内核模块中已定义并导出该内核模块所需的外部符号。当该内核模块中存在任一未定义的外部符号(即存在未知符号)时,将导致该内核模块加载失败。
在相关技术中,开发人员将Linux操作系统中某一产品的所有内核模块的代码编译生成版本镜像文件,然后在设备中加载版本镜像文件,若加载成功,则说明不存在未知符号,否则设备将提示存在未知符号。
然而,通过加载版本镜像文件只能确定是否存在未知符号,而不能查找出未知符号,同时,开发人员人工、手动检查需要花费大量的时间,还需要开发人员准备好Linux操作系统平台所支持的全套设备,成本高,效率低。
发明内容
有鉴于此,本申请提供一种检查Linux内核模块未知符号的方法及装置,可以查找出内核模块中可能存在的未知符号。
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种检查Linux内核模块未知符号的方法,包括:
当接收到针对任一内核模块的未知符号的检查指令时,获取加载在所述任一内核模块之前的其他内核模块的导出符号,并添加到预配置的全局符号表中;其中,所述全局符号表仅用于存储导出符号,且初始为空;
当所述任一内核模块的任一外部符号不存在于所述全局符号表中时,判定所述任一外部符号为未知符号。
根据本申请的第二方面,提出了一种检查Linux内核模块未知符号的装置,包括:
获取单元,当接收到针对任一内核模块的未知符号的检查指令时,获取加载在所述任一内核模块之前的其他内核模块的导出符号,并添加到预配置的全局符号表中;其中,所述全局符号表仅用于存储导出符号,且初始为空;
判定单元,当所述任一内核模块的任一外部符号不存在于所述全局符号表中时,判定所述任一外部符号为未知符号。
由以上技术方案可见,在本申请的技术方案中,维护了一用于存储各个内核模块的导出符号的全局符号表,通过确定待检查的内核模块的某一外部符号是否存在于该全局符号表中,可以判定出该外部符号是否为未知符号。
附图说明
图1是本申请一示例性实施例提供的一种检查Linux内核模块未知符号的方法的流程图。
图2是本申请一示例性实施例提供的另一种检查Linux内核模块未知符号的方法的流程图。
图3是本申请一示例性实施例提供的一种电子设备的结构示意图。
图4是本申请一示例性实施例提供的一种检查Linux内核模块未知符号的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本申请一示例性实施例示出的一种检查Linux内核模块未知符号的方法的流程图,如图1所示,该方法可以包括以下步骤:
步骤101,当接收到针对任一内核模块的未知符号的检查指令时,获取加载在所述任一内核模块之前的其他内核模块的导出符号,并添加到预配置的全局符号表中。
在本实施例中,所述全局符号表仅用于存储导出符号,且初始为空。
在本实施例中,可以通过以下方式获取加载在所述任一内核模块之前的其他内核模块的导出符号:
获取内核模块加载清单;按照所述内核模块加载清单记录的各个内核模块之间的加载顺序,确定所述任一内核模块之前的其他内核模块,以获取相应的导出符号。
步骤102,当所述任一内核模块的任一外部符号不存在于所述全局符号表中时,判定所述任一外部符号为未知符号。
在本实施例中,所述全局符号表中的导出符号被按照字典顺序进行排列;可以通过下述方式确定所述任一外部符号是否存在于所述全局符号表中:
采用二分查找法在所述全局符号表中查找所述任一外部符号;当查找到所述任一外部符号时,判定所述任一外部符号存在于所述全局符号表中。由于全局符号表中的导出符号被按照字典顺序进行排列,通过采用二分查找法查找,可以加快查找的速度,提高效率。
在本实施例中,当接收到针对所述任一内核模块的检查指令时,执行对所述任一内核模块的未知符号的检查操作;
或者,可以在运行所述任一内核模块的编译脚本时,执行对所述任一内核模块的未知符号的检查操作。在本申请的技术方案中,可以单独执行对某一内核模块的未知符号的检查操作,也可以在编译该内核模块时,同时进行对未知符号的检查操作。
在本实施例中,当检测到针对任一产品类型或所述任一产品类型下的任一产品的检查指令时,可以对所述任一产品类型下的所有产品进行未知符号的检查操作。
由以上技术方案可见,在本申请的技术方案中,维护了一用于存储各个内核模块的导出符号的全局符号表,通过确定待检查的内核模块的某一外部符号是否存在于该全局符号表中,可以判定出该外部符号是否为未知符号。
为了便于理解,下面结合图2,对本申请的技术方案进行详细说明。请参见图2,图2是本申请一示例性实施例示出的一种检查Linux内核模块未知符号的方法,该方法可以包括以下步骤:
步骤201,列出Linux操作系统中所有产品类型的内核模块加载清单。
在本实施例中,由于该内核模块加载清单中记录了每个产品中各个内核模块的加载顺序,所以本步骤只需要执行一次,不需要在每次检查内核模块的未知符号时都执行一次。
步骤202,获取待检查的产品的款型。
步骤203,获取待检查的内核模块的名称。
在本实施例中,当接收到针对某一产品中任一内核模块的未知符号的检查指令时,获取该产品的款型以及该内核模块的名称。
步骤204,根据获取的产品款型和内核模块名称,在内核模块加载清单中获取在该产品款型下加载在该内核模块之前的各个内核模块的加载顺序。
在本实施例中,Linux操作系统的基本内核也作为一个内核模块处理。
步骤205,按照获取的加载顺序,获取当前检查的内核模块的所有外部符号。
步骤206,确定获取的外部符号是否存在于预配置的全局符号表中,若某一外部符号存在于该全局符号表中,则转入步骤207a,否则转入步骤207b。
在本实施例中,全局符号表仅用于存储各个内核模块的导出符号,且初始为空。全局符号表中的导出符号被按照字典顺序进行排列。当需要确定任一外部符号是否存在于全局符号表中时,采用二分查找法在全局符号表中查找该任一外部符号,若查找到该任一外部符号,则判定该任一外部符号存在于全局符号表中。
步骤207a,忽略该外部符号。
步骤207b,输出该外部符号为未知符号。
在本实施例中,当某一外部符号存在于全局符号表中时,说明该外部符号为导出符号,即该外部符号已经被定义并导出;当某一外部符号不存在于全局符号表中时,说明该外部符号为未定义的外部符号,即该外部符号为未知符号。其中,上述“外部符号、导出符号、未知符号”的含义与背景技术中对应的含义相同,对此不再赘述。
举例而言,假定获取当前检查的内核模块的外部符号为:a、b、c、d、e,而全局符号表中存储的导出符号为:a、c、d。则判定外部符号b和e为未知符号。
步骤208,判断当前检查的内核模块是否为待检查的内核模块,若当前检查的内核模块为待检查的内核模块,则转入步骤210,否则转入步骤209。
步骤209,获取当前检查的内核模块的导出符号,并存储到全局符号表中。
在本实施例中,根据获取的加载顺序,从加载顺序中首个内核模块开始,依次检查各个内核模块的未知符号,并将各个内核模块的导出符号存储到全局符号表中,直到当前检查的内核模块为待检测的内核模块为止,结束检查操作。举例而言,假定产品1下内核模块e为待检查的内核模块,而在加载内核模块e之前,需要依次加载内核模块a、b、c、d。那么,首先从内核模块a开始,按照步骤205-206的方式,检查内核模块a的未知符号,并将内核模块a的导出符号存储到全局符号表中,以此类推,直到检查到内核模块d时,全局符号表中存储了内核模块a、b、c、d的导出符号,最后,在检查内核模块e时,就可以根据全局符号表中存储的加载在内核模块e之前所有内核模块的所有导出符号,确定内核模块e中存在的未知符号。
步骤210,结束检查操作。
由以上技术方案可见,通过维护一用于存储各个内核模块的导出符号的全局符号表,确定待检查的内核模块的某一外部符号是否存在于该全局符号表中,可以判定出该外部符号是否为未知符号。
在本申请的技术方案中,上述检查未知符号的方法可以写入检查脚本中,该检查脚本专门用于检查内核模块的未知符号,开发人员可以通过在PC端单独运行该检查脚本,来检查某一内核模块的未知符号。上述检查未知符号的方法也可以写入内核模块的编译脚本中,开发人员可以通过在PC端运行某一内核模块的编译脚本,来检查该内核模块的未知符号。通过将检查未知符号的方法写入脚本中,开发人员只需要在PC端就可以检查出内核模块的未知符号,而不需要先将内核模块的代码编译生成版本镜像文件,然后在设备中加载版本镜像文件,通过在设备上确定是否加载成功来判断是否存在未知符号。同时,由于本申请的技术方案可以由脚本来实现,可以避免开发人员人工、手动检查,从而节省了大量的时间,而且,不需要开发人员准备好Linux操作系统平台所支持的全套设备,降低了成本,提高了效率。
在本申请的技术方案中,当检测到针对任一产品类型或所述任一产品类型下的任一产品的检查指令时,对该任一产品类型下的所有产品进行未知符号的检查操作。由于同一产品类型下存在多种款型的产品,所以当需要检查某一类型的产品,或某一类型下任一款型的产品时,可以对该类型下所有款型的产品进行检查未知符号的操作。举例而言,假定产品类型M下存在x、y、z三种款型的产品,当需要检查M类产品,或需要检查x、y、z中任一款型的产品时,可以对x、y、z三种款型的产品都进行检查未知符号的操作。其中,当需要检查某一款型的产品下所有内核模块的未知符号时,可以直接检查该产品中最后加载的内核模块的未知符号,也可以从排列在该产品中各个内核模块的加载顺序中首位的内核模块开始进行检查操作。例如,x款型的产品中所有内核模块的加载顺序为:a、b、c、d、e。由于在检查内核模块e时,会按照加载顺序依次检查加载在内核模块e之前的各个内核模块(内核模块a、b、c、d)的未知符号,所以开发人员通过直接检查内核模块e中的未知符号,就可以检查出内核模块a、b、c、d、e,即所有的内核模块的未知符号。同时,开发人员也可以分别对内核模块a、b、c、d、e进行未知符号的检查操作。
图3示出了根据本申请的一示例性实施例的一种电子设备的示意结构图。请参考图3,在硬件层面,该电子设备包括处理器302、内部总线304、网络接口306、内存308以及非易失性存储器310,当然还可能包括其他业务所需要的硬件。处理器302从非易失性存储器310中读取对应的计算机程序到内存302中然后运行,在逻辑层面上形成检查Linux内核模块未知符号的装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图4,在软件实施方式中,该检查Linux内核模块未知符号的装置可以包括获取单元401和判定单元402。其中:
获取单元401,当接收到针对任一内核模块的未知符号的检查指令时,获取加载在所述任一内核模块之前的其他内核模块的导出符号,并添加到预配置的全局符号表中;其中,所述全局符号表仅用于存储导出符号,且初始为空;
判定单元402,当所述任一内核模块的任一外部符号不存在于所述全局符号表中时,判定所述任一外部符号为未知符号。
可选的,所述获取单元401具体用于:
获取内核模块加载清单;
按照所述内核模块加载清单记录的各个内核模块之间的加载顺序,确定所述任一内核模块之前的其他内核模块,以获取相应的导出符号。
可选的,所述全局符号表中的导出符号被按照字典顺序进行排列;所述判定单元402通过下述方式确定所述任一外部符号是否存在于所述全局符号表中:
采用二分查找法在所述全局符号表中查找所述任一外部符号;
当查找到所述任一外部符号时,判定所述任一外部符号存在于所述全局符号表中。
可选的,还包括:
执行单元403,当接收到针对所述任一内核模块的检查指令时,执行对所述任一内核模块的未知符号的检查操作;
或者,在运行所述任一内核模块的编译脚本时,执行对所述任一内核模块的未知符号的检查操作。
可选的,还包括:
处理单元404,当检测到针对任一产品类型或所述任一产品类型下的任一产品的检查指令时,对所述任一产品类型下的所有产品进行未知符号的检查操作。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种检查Linux内核模块未知符号的方法,其特征在于,包括:
响应于接收到针对任一内核模块的未知符号的检查指令,根据维护的内核模块加载顺序,获取在所述任一内核模块之前加载的其他内核模块的导出符号,并将所述导出符号添加到预配置的全局符号表中;其中,所述全局符号表仅用于存储导出符号,且初始为空;
在加载所述任一内核模块所需的任一外部符号不存在于所述全局符号表中的情形下,判定所述任一外部符号为未知符号。
2.根据权利要求1所述的方法,其特征在于,所述根据维护的内核模块加载顺序,获取在所述任一内核模块之前加载的其他内核模块的导出符号,包括:
获取内核模块加载清单;
按照所述内核模块加载清单记录的各个内核模块之间的加载顺序,确定所述任一内核模块之前加载的其他内核模块,以获取相应的导出符号。
3.根据权利要求1所述的方法,其特征在于,所述全局符号表中的导出符号被按照字典顺序进行排列;通过下述方式确定所述任一外部符号是否存在于所述全局符号表中:
采用二分查找法在所述全局符号表中查找所述任一外部符号;
当查找到所述任一外部符号时,判定所述任一外部符号存在于所述全局符号表中。
4.根据权利要求1所述的方法,其特征在于,还包括:
当接收到针对所述任一内核模块的检查指令时,执行对所述任一内核模块的未知符号的检查操作;
或者,在运行所述任一内核模块的编译脚本时,执行对所述任一内核模块的未知符号的检查操作。
5.根据权利要求1所述的方法,其特征在于,还包括:
当检测到针对任一产品类型或所述任一产品类型下的任一产品的检查指令时,对所述任一产品类型下的所有产品进行未知符号的检查操作。
6.一种检查Linux内核模块未知符号的装置,其特征在于,包括:
获取单元,响应于接收到针对任一内核模块的未知符号的检查指令,根据维护的内核模块加载顺序,获取在所述任一内核模块之前加载的其他内核模块的导出符号,并将所述导出符号添加到预配置的全局符号表中;其中,所述全局符号表仅用于存储导出符号,且初始为空;
判定单元,在加载所述任一内核模块所需的任一外部符号不存在于所述全局符号表中的情形下,判定所述任一外部符号为未知符号。
7.根据权利要求6所述的装置,其特征在于,所述获取单元具体用于:
获取内核模块加载清单;
按照所述内核模块加载清单记录的各个内核模块之间的加载顺序,确定所述任一内核模块之前加载的其他内核模块,以获取相应的导出符号。
8.根据权利要求6所述的装置,其特征在于,所述全局符号表中的导出符号被按照字典顺序进行排列;所述判定单元通过下述方式确定所述任一外部符号是否存在于所述全局符号表中:
采用二分查找法在所述全局符号表中查找所述任一外部符号;
当查找到所述任一外部符号时,判定所述任一外部符号存在于所述全局符号表中。
9.根据权利要求6所述的装置,其特征在于,还包括:
执行单元,当接收到针对所述任一内核模块的检查指令时,执行对所述任一内核模块的未知符号的检查操作;
或者,在运行所述任一内核模块的编译脚本时,执行对所述任一内核模块的未知符号的检查操作。
10.根据权利要求6所述的装置,其特征在于,还包括:
处理单元,当检测到针对任一产品类型或所述任一产品类型下的任一产品的检查指令时,对所述任一产品类型下的所有产品进行未知符号的检查操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611067996.3A CN106502755B (zh) | 2016-11-28 | 2016-11-28 | 一种检查Linux内核模块未知符号的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611067996.3A CN106502755B (zh) | 2016-11-28 | 2016-11-28 | 一种检查Linux内核模块未知符号的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106502755A CN106502755A (zh) | 2017-03-15 |
CN106502755B true CN106502755B (zh) | 2021-11-02 |
Family
ID=58327755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611067996.3A Active CN106502755B (zh) | 2016-11-28 | 2016-11-28 | 一种检查Linux内核模块未知符号的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106502755B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697131A (zh) * | 2009-11-04 | 2010-04-21 | 中兴通讯股份有限公司 | 一种可重定位文件动态加载的方法及装置 |
CN104376126A (zh) * | 2014-12-11 | 2015-02-25 | 北京奇虎科技有限公司 | 在Linux驱动中绑定内核符号的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281488A (zh) * | 2007-04-06 | 2008-10-08 | 上海宇梦通信科技有限公司 | Linux操作系统的内核调试方法 |
CN101340314A (zh) * | 2008-08-11 | 2009-01-07 | 中兴通讯股份有限公司 | 一种嵌入式系统的实时调试定位方法及其装置 |
CN102279877B (zh) * | 2011-07-26 | 2013-03-13 | 山东省计算中心 | 一种Mac OS系统的物理内存镜像文件分析方法 |
CN103312625B (zh) * | 2012-03-09 | 2016-02-03 | 深圳市腾讯计算机系统有限公司 | 一种网络通信的方法和系统 |
-
2016
- 2016-11-28 CN CN201611067996.3A patent/CN106502755B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697131A (zh) * | 2009-11-04 | 2010-04-21 | 中兴通讯股份有限公司 | 一种可重定位文件动态加载的方法及装置 |
CN104376126A (zh) * | 2014-12-11 | 2015-02-25 | 北京奇虎科技有限公司 | 在Linux驱动中绑定内核符号的方法及装置 |
Non-Patent Citations (3)
Title |
---|
"Linux设备驱动程序学习笔记";c415652;《https://github.com/kuring/reading/blob/master/blog/Linux%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.md》;20140611;第1-3页 * |
"关于内核符号表";cywosp;《https://blog.csdn.net/cywosp/article/details/6833631》;20110929;第1页 * |
加载内核模块-Unknown symbol错误分析;HelloWuyp;《https://blog.csdn.net/wuyongpeng0912/article/details/46739233》;20150703;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106502755A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016519385A (ja) | ドライバをロードする方法及び組み込みデバイス | |
CN110209520B (zh) | 一种提高ssd测试效率的方法、装置、计算机设备及存储介质 | |
US20190087208A1 (en) | Method and apparatus for loading elf file of linux system in windows system | |
CN113961919B (zh) | 恶意软件检测方法和装置 | |
CN114138281A (zh) | 软件工程的编译方法、装置、设备及介质 | |
CN107544811B (zh) | IOS平台隐藏dylib文件的方法、存储介质、电子设备及系统 | |
CN110135163B (zh) | 一种基于目标应用的安全检测方法、装置及系统 | |
CN113094252A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
US20090106764A1 (en) | Support for globalization in test automation | |
CN106502707B (zh) | 代码生成方法及装置 | |
CN106502755B (zh) | 一种检查Linux内核模块未知符号的方法及装置 | |
CN116775061A (zh) | 微服务应用的部署方法、装置、设备及存储介质 | |
CN114610516B (zh) | 应用程序的修复方法、装置、计算机设备以及存储介质 | |
US9063723B2 (en) | Function-based software comparison method | |
US9710360B2 (en) | Optimizing error parsing in an integrated development environment | |
CN106648788B (zh) | 应用程序的安装方法及装置 | |
CN114691496A (zh) | 单元测试方法、装置、计算设备及介质 | |
CN114817047A (zh) | 编译器测试方法、用例生成方法及装置、指令存储结构 | |
CN110377499B (zh) | 一种对应用程序进行测试的方法及装置 | |
CN114706586A (zh) | 代码编译、代码运行方法、装置、计算机设备及存储介质 | |
CN109408063B (zh) | 基于虚拟机的指令插桩方法及装置 | |
CN112486497A (zh) | 编译配置文件的生成方法、装置、电子设备及存储介质 | |
CN112579156A (zh) | 一种业务事件的处理系统以及处理方法、装置和设备 | |
CN113220334B (zh) | 程序故障定位方法、终端设备及计算机可读存储介质 | |
CN112527660B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |