CN106201730A - 一种linux用户态互斥锁死锁检测方法及*** - Google Patents
一种linux用户态互斥锁死锁检测方法及*** Download PDFInfo
- Publication number
- CN106201730A CN106201730A CN201610532713.1A CN201610532713A CN106201730A CN 106201730 A CN106201730 A CN 106201730A CN 201610532713 A CN201610532713 A CN 201610532713A CN 106201730 A CN106201730 A CN 106201730A
- Authority
- CN
- China
- Prior art keywords
- mutual exclusion
- exclusion lock
- user space
- deadlock
- lockdep
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种linux用户态互斥锁死锁检测方法,包括:将用户态互斥锁数据结构与lockdep数据结构进行封装;对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息;该方法通过调用lockdep模块能够准确的检测出linux用户态互斥锁死锁;本发明还公开了一种linux用户态互斥锁死锁检测***。
Description
技术领域
本发明涉及操作***故障管理领域,特别涉及一种linux用户态互斥锁死锁检测方法及***。
背景技术
死锁就是多个进程(线程)因为等待别的进程已占有的自己所需要的资源而陷入阻塞的一种状态,死锁状态一旦形成,进程本身是解决不了的,需要外在的推动,才能解决,最重要的是死锁不仅仅影响进程业务,而且还会占用***资源,影响其他进程。内核死锁是长期困扰内核开发人员的问题之一;Linux***用户态C程序同样存在死锁问题,因此,如何准确的检测出linux用户态互斥锁死锁,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种linux用户态互斥锁死锁检测方法及***,均能够通过调用lockdep模块能够准确的检测出linux用户态互斥锁死锁。
为解决上述技术问题,本发明提供一种linux用户态互斥锁死锁检测方法,包括:
将用户态互斥锁数据结构与lockdep数据结构进行封装;
对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;
将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;
根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;
执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。
其中,将用户态互斥锁数据结构与lockdep数据结构进行封装,包括:
将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构。
其中,对引入内核lockdep死锁程序的用户态互斥锁接口进行封装,包括:
引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;
根据所述用户态文件对用户态互斥锁接口进行封装;其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy。
其中,执行所述互斥锁死锁检测操作,包括:
判断编译时是否引入所述互斥锁死锁检测库文件;
若引入,则执行所述互斥锁死锁检测操作。
其中,记录死锁信息,包括:
打印死锁信息。
本发明提供一种linux用户态互斥锁死锁检测***,包括:
数据结构封装模块,用于将用户态互斥锁数据结构与lockdep数据结构进行封装;
接口封装模块,用于对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;
编译模块,用于将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;
用户态程序模块,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。
其中,所述数据结构封装模块具体为将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构的模块。
其中,接口封装模块具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态互斥锁接口进行封装的模块;
其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。
其中,用户态程序模块,包括:
编译单元,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;
判断单元,用于判断编译时是否引入所述互斥锁死锁检测库文件;
执行单元,用于若存在所述互斥锁死锁检测库文件,执行所述互斥锁死锁检测操作;
记录单元,用于若存在死锁,则记录死锁信息。
其中,所述记录单元具体为打印死锁信息的单元。
本发明所提供的linux用户态互斥锁死锁检测方法,包括:将用户态互斥锁数据结构与lockdep数据结构进行封装;对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息;可见该方法通过封装lockdep模块,使内核通过调用内核lockdep死锁检测函数来进行用户态互斥锁死锁检测,能够准确的检测出linux用户态互斥锁死锁;本发明还提供了一种linux用户态互斥锁死锁检测***,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的linux用户态互斥锁死锁检测方法的流程图;
图2为本发明实施例所提供的linux用户态互斥锁死锁检测***的结构框图。
具体实施方式
本发明的核心是提供一种linux用户态互斥锁死锁检测方法及***,均能够通过调用lockdep模块能够准确的检测出linux用户态互斥锁死锁。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的linux用户态互斥锁死锁检测方法的流程图;该方法可以包括:
S100、将用户态互斥锁数据结构与lockdep数据结构进行封装;
其中,该步骤即为用户态互斥锁数据结构封装,具体的将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构。
互斥锁数据结构封装,在原有的数据结构pthread_mutex_t基础上添加lockdep_map数据结构,定义为lockdep_pthread_mutex数据机构。具体过程如下:
变量定义如下:
#define NR_LOCKDEP_CACHING_CLASSES 2
#define MAX_LOCKDEP_SUBCLASSES 8UL
S110、对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;
其中,该步骤即为用户态互斥锁接口封装,引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;
根据所述用户态文件对用户态互斥锁接口进行封装;其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy。
其中,互斥锁调用接口封装,是互斥锁提供给用户的PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy等接口进行封装,引入内核lockdep代码即内核lockdep死锁程序,通过直接引入内核文件的方式调用内核lockdep代码。
引入lockdep代码,定义用户态文件lockdep.c、lockdep_states.h和lockdep_internals.h。
lockdep.c。代码如下:
接口重定义:
#define pthread_mutex_t lockdep_pthread_mutex_t
#define pthread_mutex_init lockdep_pthread_mutex_init
#define pthread_mutex_lock lockdep_pthread_mutex_lock
#define pthread_mutex_unlock lockdep_pthread_mutex_unlock
#define pthread_mutex_trylock lockdep_pthread_mutex_trylock
#define pthread_mutex_destroy lockdep_pthread_mutex_destroy
S120、将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;
其中,该步骤即为编译用户态互斥锁检测动态静态链接库,即编译重新封装的互斥锁的接口。从步骤S100到S120完成了用户态互斥锁死锁检测库文件的生成。即首先对用户态互斥锁的数据结构和API进行封装,引入lockdep内核死锁检测函数,编译生成互斥锁死锁检测库文件;用户态程序编译时引入互斥锁死锁检测库文件,用户程序互斥锁操作指向互斥锁死锁检测库文件封装的接口。
S130、根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;
S140、执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。
其中,用户C程序重新编译并执行检测过程;即步骤S130和S140完成了用户态程序互斥锁死锁检测流程;先判断编译中是否引入互斥锁死锁检测库文件,如果没有引入,直接运行程序本身功能结束;如果引入互斥锁死锁检测库文件,则检测是否存在互斥锁死锁,如果存在死锁,记录死锁信息结束;如果不存在死锁,程序执行本身功能结束。这里的记录信息具体可以是打印死锁信息。
基于上述技术方案,本发明实施例提供的linux用户态互斥锁死锁检测方法,对linux用户态互斥锁的数据结构和互斥锁接口API进行封装,通过调用内核lockdep死锁检测函数对用户态互斥锁死锁进行检测;即通过封装用户态互斥锁数据结构和互斥锁接口实现对内核lockdep代码调用;能够有效检测出用户态C程序的死锁。
本发明实施例提供了linux用户态互斥锁死锁检测方法,能够通过调用lockdep模块能够准确的检测出linux用户态互斥锁死锁。
下面对本发明实施例提供的linux用户态互斥锁死锁检测***进行介绍,下文描述的linux用户态互斥锁死锁检测***与上文描述的linux用户态互斥锁死锁检测方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的linux用户态互斥锁死锁检测***的结构框图;该***可以包括:
数据结构封装模块100,用于将用户态互斥锁数据结构与lockdep数据结构进行封装;
接口封装模块200,用于对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;
编译模块300,用于将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;
用户态程序模块400,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。
可选的,所述数据结构封装模块100具体为将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构的模块。
可选的,接口封装模块200具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态互斥锁接口进行封装的模块;
其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_nutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。
可选的,用户态程序模块400,包括:
编译单元,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;
判断单元,用于判断编译时是否引入所述互斥锁死锁检测库文件;
执行单元,用于若存在所述互斥锁死锁检测库文件,执行所述互斥锁死锁检测操作;
记录单元,用于若存在死锁,则记录死锁信息。
其中,所述记录单元具体为打印死锁信息的单元。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的linux用户态互斥锁死锁检测方法及***进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种linux用户态互斥锁死锁检测方法,其特征在于,包括:
将用户态互斥锁数据结构与lockdep数据结构进行封装;
对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;
将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;
根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;
执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。
2.如权利要求1所述的linux用户态互斥锁死锁检测方法,其特征在于,将用户态互斥锁数据结构与lockdep数据结构进行封装,包括:
将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构。
3.如权利要求2所述的linux用户态互斥锁死锁检测方法,其特征在于,对引入内核lockdep死锁程序的用户态互斥锁接口进行封装,包括:
引入内核lockdep死锁程序,定义用户态文件;其中,所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h;
根据所述用户态文件对用户态互斥锁接口进行封装;其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy。
4.如权利要求3所述的linux用户态互斥锁死锁检测方法,其特征在于,执行所述互斥锁死锁检测操作,包括:
判断编译时是否引入所述互斥锁死锁检测库文件;
若引入,则执行所述互斥锁死锁检测操作。
5.如权利要求4所述的linux用户态互斥锁死锁检测方法,其特征在于,记录死锁信息,包括:
打印死锁信息。
6.一种linux用户态互斥锁死锁检测***,其特征在于,包括:
数据结构封装模块,用于将用户态互斥锁数据结构与lockdep数据结构进行封装;
接口封装模块,用于对引入内核lockdep死锁程序的用户态互斥锁接口进行封装;
编译模块,用于将封装后的用户态互斥锁接口,编译成用户态互斥锁检测动态静态链接库,生成互斥锁死锁检测库文件;
用户态程序模块,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;执行所述互斥锁死锁检测操作,若存在死锁,则记录死锁信息。
7.如权利要求6所述的linux用户态互斥锁死锁检测***,其特征在于,所述数据结构封装模块具体为将用户态互斥锁数据结构pthread_mutex_t添加lockdep死锁检测的lockdep_map数据结构的模块。
8.如权利要求7所述的linux用户态互斥锁死锁检测***,其特征在于,接口封装模块具体为引入内核lockdep死锁程序,定义用户态文件;根据所述用户态文件对用户态互斥锁接口进行封装的模块;
其中,所述用户态互斥锁接口包括:PTHREAD_MUTEX_INITIALIZER、pthread_mutex_init、pthread_mutex_lock、pthread_mutex_unlock、pthread_mutex_trylock、pthread_mutex_destroy;所述用户态文件包括lockdep.c、lockdep_states.h和lockdep_internals.h。
9.如权利要求8所述的linux用户态互斥锁死锁检测***,其特征在于,用户态程序模块,包括:
编译单元,用于根据所述互斥锁死锁检测库文件编译互斥锁死锁检测操作;
判断单元,用于判断编译时是否引入所述互斥锁死锁检测库文件;
执行单元,用于若存在所述互斥锁死锁检测库文件,执行所述互斥锁死锁检测操作;
记录单元,用于若存在死锁,则记录死锁信息。
10.如权利要求9所述的linux用户态互斥锁死锁检测***,其特征在于,所述记录单元具体为打印死锁信息的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610532713.1A CN106201730A (zh) | 2016-07-07 | 2016-07-07 | 一种linux用户态互斥锁死锁检测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610532713.1A CN106201730A (zh) | 2016-07-07 | 2016-07-07 | 一种linux用户态互斥锁死锁检测方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106201730A true CN106201730A (zh) | 2016-12-07 |
Family
ID=57473400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610532713.1A Pending CN106201730A (zh) | 2016-07-07 | 2016-07-07 | 一种linux用户态互斥锁死锁检测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106201730A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897161A (zh) * | 2017-02-23 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种数据保护方法及装置 |
CN107450990A (zh) * | 2017-07-18 | 2017-12-08 | 浙江大华技术股份有限公司 | 一种基于raii的死锁检测方法及装置 |
CN110597640A (zh) * | 2019-08-29 | 2019-12-20 | 深圳市优必选科技股份有限公司 | 进程间的数据传输方法、装置、终端及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206692A (zh) * | 2006-12-20 | 2008-06-25 | 联想(北京)有限公司 | 检测进程的方法及设备 |
CN102129391A (zh) * | 2011-03-14 | 2011-07-20 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN102222015A (zh) * | 2010-04-13 | 2011-10-19 | 三星电子(中国)研发中心 | 检测多线程程序中的死锁的方法及*** |
CN105022692A (zh) * | 2015-08-06 | 2015-11-04 | 四川大学 | 一种死锁检测验证方法 |
CN105740080A (zh) * | 2016-03-11 | 2016-07-06 | 深圳市茁壮网络股份有限公司 | 一种程序卡死检测方法及处理器 |
-
2016
- 2016-07-07 CN CN201610532713.1A patent/CN106201730A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206692A (zh) * | 2006-12-20 | 2008-06-25 | 联想(北京)有限公司 | 检测进程的方法及设备 |
CN102222015A (zh) * | 2010-04-13 | 2011-10-19 | 三星电子(中国)研发中心 | 检测多线程程序中的死锁的方法及*** |
CN102129391A (zh) * | 2011-03-14 | 2011-07-20 | 华中科技大学 | 一种数据库中自旋锁的实现方法 |
CN105022692A (zh) * | 2015-08-06 | 2015-11-04 | 四川大学 | 一种死锁检测验证方法 |
CN105740080A (zh) * | 2016-03-11 | 2016-07-06 | 深圳市茁壮网络股份有限公司 | 一种程序卡死检测方法及处理器 |
Non-Patent Citations (2)
Title |
---|
SASHA LEVIN: "[PATCH v3 1/7] liblockdep: wrap kernel/lockdep.c to allow usage from user space", 《HTTPS://LWN.NET/ARTICLES/536366/》 * |
SKYWALKZF: "ARM Linux***启动start_kernel函数", 《HTTPS://WWW.LINUXIDC.COM/LINUX/2011-09/43680.HTM》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897161A (zh) * | 2017-02-23 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种数据保护方法及装置 |
CN107450990A (zh) * | 2017-07-18 | 2017-12-08 | 浙江大华技术股份有限公司 | 一种基于raii的死锁检测方法及装置 |
CN110597640A (zh) * | 2019-08-29 | 2019-12-20 | 深圳市优必选科技股份有限公司 | 进程间的数据传输方法、装置、终端及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834590B (zh) | 软件测试方法和*** | |
CN107092488B (zh) | 一种对应用进行无侵入化埋点的实现方法及*** | |
CN106295370B (zh) | 一种加固安装包的动态链接库dll文件的方法和装置 | |
US11816018B2 (en) | Systems and methods of formal verification | |
CN106201730A (zh) | 一种linux用户态互斥锁死锁检测方法及*** | |
CN108459962A (zh) | 代码规范性检测方法、装置、终端设备及存储介质 | |
JP2005293578A5 (zh) | ||
WO2016095672A1 (zh) | 一种基于栈的异常检测方法和装置 | |
CN106201731A (zh) | 一种用户态读写锁死锁检测方法及*** | |
CN104392169B (zh) | 一种Native API函数重构方法和装置 | |
Wang et al. | Demadroid: Object Reference Graph‐Based Malware Detection in Android | |
US8813258B2 (en) | Selectively exposing base class libraries based on application execution context | |
CN110975279B (zh) | 一种游戏数据处理方法、装置、游戏服务器及存储介质 | |
CN107122656B (zh) | 一种通过自调试防止外部调试的方法和装置 | |
CN106227550A (zh) | 一种国际化图形用户界面的生成方法、***及计算机 | |
CN106294137A (zh) | 一种linux用户态自旋锁死锁检测方法及*** | |
CN102937934B (zh) | 通过动态的语言引擎捕捉遥测数据 | |
US9489179B2 (en) | Application programming interface tracing mechanism | |
CN109491806A (zh) | 一种内核与第三方应用之间的适配方法与装置 | |
CN106055935A (zh) | 一种进程控制方法、装置及电子设备 | |
CN109684846A (zh) | 一种文件提取方法及装置 | |
CN102096622B (zh) | 基于事件驱动实时获取***中进程信息的方法及*** | |
CN108334351A (zh) | 一种修改启动顺序的方法及装置 | |
EP3721346B1 (en) | Bit-accurate-tracing analysis with applied memory region lifetimes | |
CN105094773B (zh) | 模块功能的重用方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |
|
RJ01 | Rejection of invention patent application after publication |