CN103810099A - 代码跟踪方法及其系统 - Google Patents

代码跟踪方法及其系统 Download PDF

Info

Publication number
CN103810099A
CN103810099A CN201310595356.XA CN201310595356A CN103810099A CN 103810099 A CN103810099 A CN 103810099A CN 201310595356 A CN201310595356 A CN 201310595356A CN 103810099 A CN103810099 A CN 103810099A
Authority
CN
China
Prior art keywords
subprocess
overtime
shared drive
current state
status information
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.)
Granted
Application number
CN201310595356.XA
Other languages
English (en)
Other versions
CN103810099B (zh
Inventor
陈飞
朱超
王超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310595356.XA priority Critical patent/CN103810099B/zh
Publication of CN103810099A publication Critical patent/CN103810099A/zh
Application granted granted Critical
Publication of CN103810099B publication Critical patent/CN103810099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种代码跟踪方法及其系统,其中该方法包括:创建共享内存,所述共享内存中存储有多个子进程的状态信息;通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;如果超时,则通过父进程跟踪超时的子进程并记录所述子进程的堆栈信息。通过本发明能够自动对线上服务代码的性能瓶颈进行跟踪。

Description

代码跟踪方法及其系统
技术领域
本发明涉及一种代码跟踪方法及其系统,尤其是一种针对线上服务代码的代码跟踪方法及其系统。
背景技术
服务代码在测试阶段能发现大部分性能瓶颈,并针对性能瓶颈进行优化,但线上的环境是复杂多变的,代码上线之后有可能会出现各种问题。当出现服务质量下降,延迟升高时,就需要使用一定的方法对性能瓶颈进行定位,并进行优化。
有鉴于此,当代码出现性能瓶颈时,一般会对性能瓶颈进行初步定位,记录关键点执行时间并记日志,然后对关键点执行时间进行分析,如果执行时间超过设定的值时就记为一个日志文件(Log),最后通过分析系统日志来定位性能瓶颈。
参考图1,是现有技术中的一种性能瓶颈的跟踪方案的执行流程,包括:在关键点前纪录开始时间(Start),在关键点结束时纪录结束时间(End),将结束时间减去开始时间(End-Start)纪录到日志中,从而确定可优化点。
然而,上述方式要求维护人员对代码结构有一定的了解,能够初步定位问题,设置关键点;并且,在关键点处需要记录执行时间,如果执行时间大于设置的时间还需要写日志,增加了代码的执行时间。
综上所述,可知现有技术中存在的线上服务代码跟踪方案复杂,不能够智能实现性能瓶颈跟踪的技术问题。
发明内容
本发明的主要目的在于提供一种代码跟踪方法及其系统,以解决现有技术中存在的线上服务代码跟踪方案复杂,不能够智能实现性能瓶颈跟踪的技术问题。
为解决上述问题,根据本发明的一个方面提供一种代码跟踪方法,其包括:创建共享内存,所述共享内存中存储有多个子进程的状态信息;通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;如果超时,则通过父进程跟踪超时的子进程并记录所述子进程的堆栈信息。
其中,所述方法还包括:在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
其中,所述方法还包括:所述父进程定期获取所述共享内存存储的多个子进程的状态信息,并分别记录每个子进程当前状态的初始时间信息。
其中,所述判断子进程的当前状态持续时间是否超时的步骤包括:设置时间阈值;根据初始时间信息及当前时间计算子进程的当前状态持续时间;判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
其中,所述通过父进程记录超时的子进程的堆栈信息的步骤包括:通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
根据本发明的另一个方面提供一种代码跟踪系统,其包括:创建模块,用于创建共享内存,所述共享内存中存储有多个子进程的状态信息;判断模块,用于通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;跟踪处理模块,用于如果所述判断模块判断超时,则跟踪超时的子进程并记录所述子进程的堆栈信息。
其中,所述系统还包括:更新模块,用于在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
其中,所述系统还包括:获取模块,用于定期获取所述共享内存存储的多个子进程的状态信息;时间记录模块,用于分别记录每个子进程当前状态的初始时间信息。
其中,所述判断模块包括:读取子模块,用于读取预设的时间阈值;计算子模块,用于根据初始时间信息及当前时间计算子进程的当前状态持续时间;判断子模块,用于判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
其中,所述跟踪处理模块还用于,通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
根据本发明的技术方案,通过创建共享内存,并通过获取所述共享内存存储的子进程的状态信息判断该子进程的当前状态持续时间是否超时,并跟踪超时的子进程。本发明能够自动对线上服务代码的性能瓶颈进行跟踪,从而对Master-worker模型服务代码的性能瓶颈进行优化处理。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是现有技术中的一种性能瓶颈的跟踪方案的示意图;
图2是根据本发明实施例的代码跟踪方法的流程图;
图3是根据本发明实施例的进程关联共享内存的示意图;
图4是根据本发明实施例的父进程执行代码跟踪方法的流程图;
图5是根据本发明一个实施例的代码跟踪系统的结构框图;
图6是根据本发明另一实施例的代码跟踪系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明用于代码测试阶段,通过父进程和子进程关联共享内存,抽离跟踪代码,使用异步进程来完成程序性能瓶颈自动定位,对超时的子进程打印出当前的堆栈数据,有利于定位Master-worker(主-从)进程模型服务代码的性能瓶颈。
为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明作进一步地详细说明。
参考图2,图2是根据本发明实施例的代码跟踪方法的流程图,所述方法至少包括(步骤S202-S206):
步骤S202,创建共享内存,所述共享内存中存储有多个子进程的状态信息。
在Master-worker进程模型中,Master进程主要负责管理全部的worker进程,worker进程在Master进程的管理下负责执行具体的工作。在本发明实施例中,父进程相当于Master进程,子进程相当于worker进程,而子进程在处理请求过程中所执行的程序称为代码,通过追踪代码能够定位系统的性能瓶颈。
参考图3,图3是根据本发明实施例的进程关联共享内存的示意图。系统在初始化状态时创建一共享内存,父进程和多个子进程(子进程1、子进程2…子进程n)都关联该共享内存,父进程和子进程通过该共享内存共享数据。
子进程拥有对于共享内存的写权限,多个子进程将其状态信息(例如状态值)写入到共享内存。在实际应用中,共享内存可以通过其内部的数组来保存每个子进程的状态信息。
当子进程处理请求的状态改变时,可以实时或定期更新所述共享内存中存储的子进程的状态信息,本发明对于更新的时间方式不进行限定。
所谓子进程的状态信息,是指子进程处理请求的状态和请求相关的信息,例如:处理中、处理结束等。每个子进程处理请求都会有相应的时间要求,如果延时则有可能导致性能下降。
父进程拥有对于共享内存的读权限,父进程可以通过读取共享内存存储的多个子进程的状态信息,从而获取到子进程的状态信息。当父进程确定子进程超时后跟踪超时的子进程。一般情况下,父进程通过定期方式(例如轮询)获取共享内存存储的子进程的状态信息。父进程在取得子进程的状态信息后,记录该子进程的当前状态的初始时间,此后,当父进程再次取得该子进程的状态信息后,如果状态没有发生变化则不变更初始时间信息;如果状态发生变化则父进程需要更新子进程的状态信息并重新记录新的状态的初始时间信息。
步骤S204,通过共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时。
通过共享内存,可以得到子进程当前请求的状态信息,根据父进程存储的子进程当前状态的初始时间信息和当前的时间信息,能够计算出子进程当前所处状态的持续时间,如果子进程当前状态的持续时间超过了预设的时间阈值,则判定子进程的当前状态持续时间超时。
步骤S206,如果超时,则通过父进程跟踪超时的子进程并记录所述子进程的堆栈信息。
在判断子进程当前状态持续时间超时的情况下,由父进程跟踪到超时的子进程,将该子进程的堆栈信息记录至系统日志文件中,然后通过分析日志文件定位代码的性能瓶颈。
下面结合图4详细描述上述处理的细节。父进程在初始化状态后,创建一共享内存,例如,在Unix环境中,可以通过shmget函数创建共享内存。每个子进程将其状态信息写入共享内存中,这样所述共享内存中存储着多个子进程的状态信息。
图4是根据本发明实施例的父进程执行代码跟踪方法的流程图,所述方法包括以下步骤:
步骤S402,父进程访问共享内存,通过共享内存获取子进程当前的状态信息。例如,父进程可以通过轮询方式获取共享内存存储的多个子进程当前的状态信息。
步骤S404,判断子进程的状态信息是否发生变化,将步骤S402中父进程得知的子进程当前的状态信息,与父进程预先存储的该子进程的状态信息进行比较,判断上述的两个状态是否相同,若相同则执行步骤S408,否则执行步骤S406。需要说明的是,若父进程中没有存储该子进程的状态信息,则不执行判断操作,只是将步骤S402中获取的子进程的状态信息以及该状态的初始时间存储起来,待下次获取子进程的状态信息之后再执行判断的操作。
步骤S406,子进程的状态已发生变化,在这种情况下需要更新子进程的状态信息并重新记录时间信息。具体地,父进程根据共享内存中存储的子进程的状态信息更新其存储的子进程的状态信息,并重新记录新状态信息的初始时间信息,然后在父进程定期轮询共享内存时重新执行步骤S402。
步骤S408,子进程的状态没有发生变化,父进程根据该状态的初始时间信息和当前的时间信息计算子进程当前状态的持续时间,具体计算过程请参考本文之前的描述,不再赘述。
步骤S410,判断子进程当前状态的持续时间是否超过预设的阈值,若是则执行步骤S412,否则继续执行步骤S402。
步骤S412,子进程当前状态的持续时间超时,说明该子进程发生异常情况,父进程跟踪超时的子进程并记录该子进程的堆栈信息,并且还可以打印出当前的堆栈数据,分析性能瓶颈原因,本流程结束。
参考图5,图5是根据本发明一个实施例的代码跟踪系统的结构框图,如图所示,该系统至少包括:创建模块510、判断模块520和跟踪处理模块530,下面详细描述各模块的结构和连接关系。
创建模块510用于创建共享内存,所述共享内存中存储有多个子进程的状态信息。
判断模块520用于通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时。
跟踪处理模块530与判断模块520相耦接,用于如果所述判断模块判断超时,则跟踪超时的子进程并记录所述子进程的堆栈信息。具体地,跟踪处理模块530通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
参考图6,图5是根据本发明另一实施例的代码跟踪系统的结构框图,如图所示,所述代码跟踪系统包括有:创建模块610、判断模块620、跟踪处理模块630、更新模块640、获取模块650和时间记录模块660。
其中,创建模块610、判断模块620、跟踪处理模块630分别与图5所示的创建模块510、判断模块520和跟踪处理模块530类似,不再赘述。
更新模块640用于在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
获取模块650,用于定期获取所述共享内存存储的多个子进程的状态信息;时间记录模块660,用于分别记录每个子进程当前状态的初始时间信息。
继续参考图6,所述判断模块620进一步包括:读取子模块622,用于读取预设的时间阈值;计算子模块624,用于根据初始时间信息及当前时间计算子进程的当前状态持续时间;判断子模块626,用于判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
本发明的方法的操作步骤与系统的结构特征对应,可以相互参照,不再一一赘述。
综上所述,根据本发明的技术方案,通过创建共享内存,并通过获取所述共享内存存储的子进程的状态信息判断该子进程的当前状态持续时间是否超时,并跟踪超时的子进程。本发明能够自动对线上服务代码的性能瓶颈进行跟踪,从而对Master-worker模型服务代码的性能瓶颈进行优化处理。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的代码跟踪系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种代码跟踪方法,用于代码测试阶段,所述方法包括:
创建共享内存,所述共享内存中存储有多个子进程的状态信息;
通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;
如果超时,则通过父进程跟踪超时的子进程并记录所述子进程的堆栈信息。
2.根据权利要求1所述的方法,还包括:
在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
3.根据权利要求1所述的方法,还包括:
所述父进程定期获取所述共享内存存储的多个子进程的状态信息,并分别记录每个子进程当前状态的初始时间信息。
4.根据权利要求3所述的方法,其中,所述判断子进程的当前状态持续时间是否超时的步骤包括:
设置时间阈值;
根据初始时间信息及当前时间计算子进程的当前状态持续时间;
判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
5.根据权利要求1所述的方法,其中,所述通过父进程记录超时的子进程的堆栈信息的步骤包括:
通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
6.一种代码跟踪系统,包括:
创建模块,用于创建共享内存,所述共享内存中存储有多个子进程的状态信息;
判断模块,用于通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;
跟踪处理模块,用于如果所述判断模块判断超时,则跟踪超时的子进程并记录所述子进程的堆栈信息。
7.根据权利要求6所述的系统,还包括:
更新模块,用于在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
8.根据权利要求6所述的系统,还包括:
获取模块,用于定期获取所述共享内存存储的多个子进程的状态信息;
时间记录模块,用于分别记录每个子进程当前状态的初始时间信息。
9.根据权利要求8所述的系统,其中,所述判断模块包括:
读取子模块,用于读取预设的时间阈值;
计算子模块,用于根据初始时间信息及当前时间计算子进程的当前状态持续时间;
判断子模块,用于判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
10.根据权利要求6所述的系统,其中,所述跟踪处理模块还用于,通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
CN201310595356.XA 2013-11-21 2013-11-21 代码跟踪方法及其系统 Active CN103810099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310595356.XA CN103810099B (zh) 2013-11-21 2013-11-21 代码跟踪方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310595356.XA CN103810099B (zh) 2013-11-21 2013-11-21 代码跟踪方法及其系统

Publications (2)

Publication Number Publication Date
CN103810099A true CN103810099A (zh) 2014-05-21
CN103810099B CN103810099B (zh) 2017-05-24

Family

ID=50706895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310595356.XA Active CN103810099B (zh) 2013-11-21 2013-11-21 代码跟踪方法及其系统

Country Status (1)

Country Link
CN (1) CN103810099B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589783A (zh) * 2014-11-18 2016-05-18 广州市动景计算机科技有限公司 应用程序卡顿问题数据获取方法及装置
CN105740080A (zh) * 2016-03-11 2016-07-06 深圳市茁壮网络股份有限公司 一种程序卡死检测方法及处理器
CN106681827A (zh) * 2016-05-11 2017-05-17 腾讯科技(深圳)有限公司 一种检测软件运行卡慢的方法及装置、电子设备
CN109492145A (zh) * 2018-11-08 2019-03-19 大连瀚闻资讯有限公司 应用于舆情平台的大规模循环爬虫管理方法
CN110413497A (zh) * 2019-07-30 2019-11-05 Oppo广东移动通信有限公司 异常监控方法、装置、终端设备及计算机可读存储介质
CN113010407A (zh) * 2019-12-20 2021-06-22 上海汽车集团股份有限公司 一种系统信息获取方法、装置及系统
CN115328583A (zh) * 2022-10-11 2022-11-11 深圳华锐分布式技术股份有限公司 基于预设c++日志库的日志打印方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110258608A1 (en) * 2010-04-15 2011-10-20 International Business Machines Corporation Method and apparatus to locate bottleneck of java program
CN102479146A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种场景测试监控方法、装置及场景测试监控系统
CN102959519A (zh) * 2010-06-28 2013-03-06 现代自动车株式会社 系统测试设备
CN102968352A (zh) * 2012-12-14 2013-03-13 杨晓松 进程监控及多级恢复系统和方法
CN103092746A (zh) * 2013-02-05 2013-05-08 上海大唐移动通信设备有限公司 线程异常的定位方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110258608A1 (en) * 2010-04-15 2011-10-20 International Business Machines Corporation Method and apparatus to locate bottleneck of java program
CN102959519A (zh) * 2010-06-28 2013-03-06 现代自动车株式会社 系统测试设备
CN102479146A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种场景测试监控方法、装置及场景测试监控系统
CN102968352A (zh) * 2012-12-14 2013-03-13 杨晓松 进程监控及多级恢复系统和方法
CN103092746A (zh) * 2013-02-05 2013-05-08 上海大唐移动通信设备有限公司 线程异常的定位方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589783A (zh) * 2014-11-18 2016-05-18 广州市动景计算机科技有限公司 应用程序卡顿问题数据获取方法及装置
CN105740080A (zh) * 2016-03-11 2016-07-06 深圳市茁壮网络股份有限公司 一种程序卡死检测方法及处理器
CN105740080B (zh) * 2016-03-11 2019-02-22 深圳市茁壮网络股份有限公司 一种程序卡死检测方法及处理器
CN106681827A (zh) * 2016-05-11 2017-05-17 腾讯科技(深圳)有限公司 一种检测软件运行卡慢的方法及装置、电子设备
CN106681827B (zh) * 2016-05-11 2021-04-06 腾讯科技(深圳)有限公司 一种检测软件运行卡慢的方法及装置、电子设备
CN109492145A (zh) * 2018-11-08 2019-03-19 大连瀚闻资讯有限公司 应用于舆情平台的大规模循环爬虫管理方法
CN110413497A (zh) * 2019-07-30 2019-11-05 Oppo广东移动通信有限公司 异常监控方法、装置、终端设备及计算机可读存储介质
CN110413497B (zh) * 2019-07-30 2024-02-13 Oppo广东移动通信有限公司 异常监控方法、装置、终端设备及计算机可读存储介质
CN113010407A (zh) * 2019-12-20 2021-06-22 上海汽车集团股份有限公司 一种系统信息获取方法、装置及系统
CN115328583A (zh) * 2022-10-11 2022-11-11 深圳华锐分布式技术股份有限公司 基于预设c++日志库的日志打印方法、装置、设备及介质

Also Published As

Publication number Publication date
CN103810099B (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN103810099A (zh) 代码跟踪方法及其系统
Dunn Software defect removal
US8417998B2 (en) Targeted black box fuzzing of input data
US20170052871A1 (en) Completing functional testing
CN103226485A (zh) 代码发布方法、代码发布机和代码发布系统
CN104182335A (zh) 软件测试方法和装置
CN103885808A (zh) 热补丁处理方法及装置
CN105446874A (zh) 一种资源配置文件的检测方法和装置
CN103020193A (zh) 处理数据库操作请求的方法和设备
CN105183669A (zh) 一种数据存储方法及装置
US9134975B1 (en) Determining which computer programs are candidates to be recompiled after application of updates to a compiler
CN103593406A (zh) 一种静态资源标识处理方法及装置
CN116090808A (zh) 一种rpa断点重建方法、装置、电子设备和介质
US10310961B1 (en) Cognitive dynamic script language builder
CN105095077A (zh) 用户界面自动化测试方法和装置
CN104049947A (zh) 基于动态重命名的矢量寄存器堆的寄存器重新配置
CN102880473A (zh) 基于quartz框架的任务执行方法及装置
CN102135877A (zh) 自动化构建方法及装置
CN103020196B (zh) 处理数据库操作请求的系统
CN102982275A (zh) 一种运行应用程序的安全控制方法和装置
CN102937902A (zh) 一种驱动安装的方法和装置
CN104317723A (zh) 一种驱动程序运行信息的跟踪方法及系统
US20230305734A1 (en) Platform for non-volatile memory storage devices simulation
KR101534493B1 (ko) 구조 변환에 기초한 소스코드 보안 약점 탐지 장치 및 방법
CN114549097A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.