CN112433945A - 一种用于程序动态跟踪的方法、装置及电子设备 - Google Patents
一种用于程序动态跟踪的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112433945A CN112433945A CN202011348051.5A CN202011348051A CN112433945A CN 112433945 A CN112433945 A CN 112433945A CN 202011348051 A CN202011348051 A CN 202011348051A CN 112433945 A CN112433945 A CN 112433945A
- Authority
- CN
- China
- Prior art keywords
- program
- tracking
- detection point
- main program
- point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 claims abstract description 94
- 239000000523 sample Substances 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30069—Instruction skipping instructions, e.g. SKIP
-
- 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/44594—Unloading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种用于程序动态跟踪的方法、装置及电子设备,涉及跟踪程序的数据处理技术领域,其中,该方法包括:当主程序运行到探测点时,电子设备可以根据探测点的跳转指令执行跟踪程序,若跟踪程序的跟踪功能开启,则通过跟踪程序采集主程序的运行状态;若跟踪程序的跟踪功能关闭,则删除探测点,其中,跟踪程序用于采集主程序的运行状态。本申请提供的技术方案可以在跟踪功能开启的情况下主动采集主程序的运行状态,还可以在跟踪功能关闭的情况下主动删除探测点,完全消除跟踪程序对主程序的影响,进而提高开发人员的工作效率。
Description
技术领域
本申请涉及数据处理技术,尤其涉及一种用于程序动态跟踪的方法、装置及电子设备,属于跟踪程序的数据处理技术领域。
背景技术
在开发程序的过程中,为了准确掌握程序在执行路径上不同位置的运行状态,开发人员需要对程序进行跟踪,执行跟踪任务的程序可以称为跟踪程序。
在实际应用中,为了了解主程序运行至某个位置时的运行状态,开发人员可以将跟踪程序插入到该位置,当主程序执行到该位置时,就可以执行该跟踪程序。跟踪程序可以读取当前处理器的寄存器数据、各种堆栈变量和内存数据等。在开发阶段结束后开发人员就不需要继续获取主程序的运行状态了,同时,跟踪程序的加入会影响到主程序的执行效率,因此,开发人员还需要将跟踪程序从主程序中删除,以保证正式版的主程序具有良好的执行效率。
但是,开发阶段的主程序中往往会插入大量的跟踪程序,使得开发人员在删除跟踪程序时,重复工作多且工作效率低下。
发明内容
有鉴于此,本申请提供了一种用于程序动态跟踪的方法、装置及电子设备,可以高效便捷的管理主程序中的跟踪程序,提高开发人员的工作效率。
为了实现上述目的,第一方面,本申请实施例提供一种用于程序动态跟踪的方法,包括:
当主程序运行到探测点时,根据探测点的跳转指令执行跟踪程序,跟踪程序用于采集主程序的运行状态;
若跟踪程序的跟踪功能开启,则通过跟踪程序采集主程序的运行状态;
若跟踪程序的跟踪功能关闭,则删除探测点。
可选的,在删除探测点之前,该方法还包括:
根据探测点保存对应的备份记录,备份记录包括探测点的地址和跳转指令。
可选的,根据探测点保存对应的备份记录,包括:
确定探测点的地址;
读取探测点的跳转指令;
根据探测点的跳转指令和地址,生成并保存探测点对应的备份记录。
可选的,该方法还包括:
当跟踪程序的跟踪功能由关闭转为开启时,根据保存的至少一份备份记录,还原各备份记录对应的探测点。
可选的,根据保存的至少一份备份记录,还原各备份记录对应的探测点,包括:
对于每份备份记录,根据备份记录中的探测点的地址,在主程序对应的地址中,插入探测点的跳转指令。
可选的,在还原各备份记录对应的探测点之后,该方法还包括:
删除探测点对应的备份记录。
可选的,删除探测点,包括:
将探测点处的跳转指令替换为空操作指令。
第二方面,本申请实施例提供一种用于程序动态跟踪的装置,包括:
运行模块,用于当主程序运行到探测点时,根据探测点的跳转指令执行跟踪程序,跟踪程序用于采集主程序的运行状态;
执行模块,用于若跟踪程序的跟踪功能开启,则通过跟踪程序采集主程序的运行状态,以及若跟踪程序的跟踪功能关闭,则删除探测点。
可选的,该装置还包括:
保存模块,用于根据探测点保存对应的备份记录,备份记录包括探测点的地址和跳转指令。
可选的,保存模块具体用于:
确定探测点的地址;
读取探测点的跳转指令;
根据探测点的跳转指令和地址,生成并保存探测点对应的备份记录。
可选的,该装置还包括:
还原模块,用于当跟踪程序的跟踪功能由关闭转为开启时,根据保存的至少一份备份记录,还原各备份记录对应的探测点。
可选的,还原模块具体用于:
对于每份备份记录,根据备份记录中的探测点的地址,在主程序对应的地址中,插入探测点的跳转指令。
可选的,该装置还包括:
还原模块,还用于删除探测点对应的备份记录。
可选的,还原模块具体用于:
将探测点处的跳转指令替换为空操作指令。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
本申请实施例提供的用于程序动态跟踪的方法、装置及电子设备,在当主程序运行到探测点时,可以根据探测点的跳转指令执行跟踪程序,若跟踪程序的跟踪功能开启,则通过跟踪程序采集主程序的运行状态;若跟踪程序的跟踪功能关闭,则删除探测点,其中,跟踪程序用于采集主程序的运行状态。本申请可以在跟踪功能开启的情况下主动采集主程序的运行状态,还可以在跟踪功能关闭的情况下主动删除探测点,完全消除跟踪程序对主程序的影响,进而提高开发人员的工作效率。
附图说明
图1为本申请实施例提供的用于程序动态跟踪的方法流程示意图;
图2为本申请实施例提供的主程序程序段程示意图;
图3为本申请实施例提供的探测点示意图;
图4为本申请实施例提供的用于程序动态跟踪的装置结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
本申请实施例提供的用于程序动态跟踪的方法可以应用于计算机、笔记本或工作站等电子设备,本申请实施例对电子设备的具体类型不作任何限制。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本申请实施例提供的用于程序动态跟踪的方法流程示意图,如图1所示,该方法包括如下步骤:
S110、当主程序运行到探测点时,根据探测点的跳转指令执行跟踪程序。
主程序为被测试的程序,在电子设备中运行,本申请实施例对主程序的具体类型、功能等不作限定。主程序的程序段中设置有多个探测点,探测点的设置位置可以根据实际需求进行设置,探测点中包括跳转指令,该跳转指令用于启动跟踪程序。参照图2,图2为本申请实施例提供的主程序程序段程示意图,图2中各程序段中有多个探测点。参照图3,图3为本申请实施例提供的探测点示意图,探测点本质上是跳转指令和该跳转指令的地址。跟踪程序主要用于采集主程序的运行状态,运行状态可以包括各处理器的寄存器数据、各类堆栈变量和各类内存数据等,运行状态具体的内容可以根据实际需求进行设定。
具体的,当主程序运行到探测点时,电子设备可以根据探测点的跳转指令执行跟踪程序。需要说明的是,本申请实施例中的主程序仅在跟踪程序执行时,会有短暂的中断。也即是,在主程序没有运行到探测点时,跟踪程序的存在不会对主程序的执行造成影响。因此,相比现有技术中,将跟踪程序写入主程序程序段中的跟踪方式,本申请的技术方案可以在一定程度上保证跟踪程序不会对主程序的执行造成影响,进而具有更好的执行效率。
S120、确定跟踪程序的跟踪功能是否开启。
电子设备在开启执行跟踪程序后会先确定跟踪程序的跟踪功能是否开启。在本申请实施例中跟踪程序是独立存在的,并没写入主程序的程序段中,因此,用户可以在主程序运行时控制跟踪功能的状态,并且不会影响到主程序的执行。
具体的,若跟踪程序的跟踪功能开启,则电子设备可以执行步骤S130;若跟踪程序的跟踪功能关闭,则电子设备可以执行步骤S140。
S130、通过跟踪程序采集主程序的运行状态。
若跟踪程序的跟踪功能开启,则电子设备可以通过跟踪程序采集主程序的运行状态。电子设备在采集到的当前的运行状态后,可以将运行状态的信息进行格式化(即将二进制的数据处理为其他易于读取的数据形式),然后保存格式化后的数据,或将格式化后的数据展示给用户,在获取运行状态之后的具体步骤可以根据实际需求进行设定。
S140、删除探测点。
若跟踪程序的跟踪功能关闭,则电子设备可以不采集主程序的运行状态并删除该探测点。由于电子设备删除了在程序段中探测点,所以主程序在下次运行至该位置时并不会跳转至跟踪程序,进而可以完全消除跟踪程序的影响。本申请实施例的跟踪方式通过探测点加跟踪程序的设置,一方面可以在跟踪功能开启的情况下主动采集主程序的运行状态,另一方面可以在跟踪功能关闭的情况下主动删除探测点,完全消除跟踪程序对主程序的影响。进一步的,由于探测点的删除方式是主程序执行一个探测点后才删除该探测点,因此,本申请的删除方式更加灵活,用户可以通过随时开启或关闭跟踪功能来控制删除哪些探测点,保留哪些探测点。
具体的,电子设备可以将探测点处的跳转指令替换为空操作指令(相当于删除了探测点)。
在现有技术中,跟踪程序会被写入主程序的程序段中,在原跟踪程序被删除后,若开发人员想再次采集主程序的运行状态,则需要重新将跟踪程序插入到主程序的程序段中。因此,对于恢复跟踪程序而言,现有技术依然具有不灵活,重复工作多且工作效率低下的问题。
为了解决现有技术中恢复跟踪程序时的问题,在本申请实施例中,电子设备可以在删除探测点之前,根据探测点保存该探测点对应的备份记录,其中,备份记录可以包括探测点的地址和跳转指令。由于电子设备保存了被删除探测点的备份记录,所以在需要恢复探测点时,电子设备可以根据保存的备份记录主动恢复被删除的探测点。
具体的,电子设备可以先确定探测点在主程序的程序段中的地址,并读取该探测点的跳转指令。然后根据探测点的跳转指令和地址,生成并保存探测点对应的备份记录。在实际应用时,电子设备可以将所有的备份记录保存在探测点数据库中,方便电子设备查找和使用。
进一步的,当跟踪程序的跟踪功能由关闭转为开启时,电子设备可以根据保存的至少一份备份记录,还原各备份记录对应的探测点。在本申请实施例中,用户仅需将跟踪功能由关闭转为开启,电子设备就可以自动恢复之前所有被删除的探测点,提高了用户的工作效率。
具体的,对于每份备份记录,电子设备可以根据备份记录中的探测点的地址,在主程序对应的地址中,插入探测点的跳转指令。在恢复完该探测点之后,电子设备还可以删除该探测点对应的备份记录。
在本申请实施例中,当主程序运行到探测点时,电子设备可以根据探测点的跳转指令执行跟踪程序,若跟踪程序的跟踪功能开启,则通过跟踪程序采集主程序的运行状态;若跟踪程序的跟踪功能关闭,则删除探测点,其中,跟踪程序用于采集主程序的运行状态。本申请可以在跟踪功能开启的情况下主动采集主程序的运行状态,还可以在跟踪功能关闭的情况下主动删除探测点,完全消除跟踪程序对主程序的影响,进而提高开发人员的工作效率。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种用于程序动态跟踪的装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
图4为本申请实施例提供的用于程序动态跟踪的装置结构示意图,如图4所示,本实施例提供的装置包括:
运行模块110,用于当主程序运行到探测点时,根据探测点的跳转指令执行跟踪程序,跟踪程序用于采集主程序的运行状态;
执行模块120,用于若跟踪程序的跟踪功能开启,则通过跟踪程序采集主程序的运行状态,以及若跟踪程序的跟踪功能关闭,则删除探测点。
可选的,该装置还包括:
保存模块130,用于根据探测点保存对应的备份记录,备份记录包括探测点的地址和跳转指令。
可选的,保存模块130具体用于:
确定探测点的地址;
读取探测点的跳转指令;
根据探测点的跳转指令和地址,生成并保存探测点对应的备份记录。
可选的,该装置还包括:
还原模块140,用于当跟踪程序的跟踪功能由关闭转为开启时,根据保存的至少一份备份记录,还原各备份记录对应的探测点。
可选的,还原模块140具体用于:
对于每份备份记录,根据备份记录中的探测点的地址,在主程序对应的地址中,插入探测点的跳转指令。
可选的,该装置还包括:
还原模块140,还用于删除探测点对应的备份记录。
可选的,还原模块140具体用于:
将探测点处的跳转指令替换为空操作指令。
本实施例提供的用于程序动态跟踪的装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种电子设备。图5为本申请实施例提供的电子设备的结构示意图,如图5所示,本实施例提供的电子设备包括:存储器21和处理器20,存储器21用于存储计算机程序;处理器20用于在调用计算机程序22时执行上述方法实施例所述的方法。
本实施例提供的电子设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种用于程序动态跟踪的方法,其特征在于,包括:
当主程序运行到探测点时,根据所述探测点的跳转指令执行跟踪程序,所述跟踪程序用于采集所述主程序的运行状态;
若所述跟踪程序的跟踪功能开启,则通过所述跟踪程序采集所述主程序的运行状态;
若所述跟踪程序的跟踪功能关闭,则删除所述探测点。
2.根据权利要求1所述的方法,其特征在于,在所述删除所述探测点之前,所述方法还包括:
根据所述探测点保存对应的备份记录,所述备份记录包括所述探测点的地址和跳转指令。
3.根据权利要求2所述的方法,其特征在于,所述根据所述探测点保存对应的备份记录,包括:
确定所述探测点的地址;
读取所述探测点的跳转指令;
根据所述探测点的跳转指令和地址,生成并保存所述探测点对应的备份记录。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述跟踪程序的跟踪功能由关闭转为开启时,根据保存的至少一份备份记录,还原各备份记录对应的探测点。
5.根据权利要求4所述的方法,其特征在于,所述根据保存的至少一份备份记录,还原各备份记录对应的探测点,包括:
对于每份备份记录,根据所述备份记录中的探测点的地址,在所述主程序对应的地址中,插入所述探测点的跳转指令。
6.根据权利要求5所述的方法,其特征在于,在所述还原各备份记录对应的探测点之后,所述方法还包括:
删除所述探测点对应的备份记录。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述删除所述探测点,包括:
将所述探测点处的跳转指令替换为空操作指令。
8.一种用于程序动态跟踪的装置,其特征在于,包括:
跳转模块,用于当主程序运行到探测点时,根据所述探测点的跳转指令执行跟踪程序,所述跟踪程序用于采集所述主程序的运行状态;
跟踪模块,用于若所述跟踪程序的跟踪功能开启,则通过所述跟踪程序采集所述主程序的运行状态,以及若所述跟踪程序的跟踪功能关闭,则删除所述探测点。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348051.5A CN112433945A (zh) | 2020-11-26 | 2020-11-26 | 一种用于程序动态跟踪的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011348051.5A CN112433945A (zh) | 2020-11-26 | 2020-11-26 | 一种用于程序动态跟踪的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433945A true CN112433945A (zh) | 2021-03-02 |
Family
ID=74697862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011348051.5A Pending CN112433945A (zh) | 2020-11-26 | 2020-11-26 | 一种用于程序动态跟踪的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433945A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02220145A (ja) * | 1989-02-22 | 1990-09-03 | Nec Corp | プログラムトレース方式 |
US20020199172A1 (en) * | 2001-06-07 | 2002-12-26 | Mitchell Bunnell | Dynamic instrumentation event trace system and methods |
CN101067798A (zh) * | 2007-06-14 | 2007-11-07 | 华南理工大学 | 一种动态探针方法及其在嵌入式系统中的应用 |
DE102009038177A1 (de) * | 2009-08-20 | 2011-03-24 | Hasso-Plattner-Institut für Softwaresystemtechnik GmbH | Ablaufverfolgung in einem laufenden Computersystem |
CN102004680A (zh) * | 2010-11-23 | 2011-04-06 | 山东中创软件商用中间件股份有限公司 | 一种动态跟踪程序运行状态的方法及一种背板装置 |
CN102222015A (zh) * | 2010-04-13 | 2011-10-19 | 三星电子(中国)研发中心 | 检测多线程程序中的死锁的方法及系统 |
CN102427423A (zh) * | 2011-11-07 | 2012-04-25 | 北京星网锐捷网络技术有限公司 | 一种网络流量跟踪及故障定位的方法、装置 |
US20130159977A1 (en) * | 2011-12-14 | 2013-06-20 | Microsoft Corporation | Open kernel trace aggregation |
CN103218219A (zh) * | 2012-01-18 | 2013-07-24 | 英飞凌科技股份有限公司 | 紧凑函数跟踪 |
CN104536892A (zh) * | 2015-01-05 | 2015-04-22 | 瑞斯康达科技发展股份有限公司 | 一种软件在线调试方法和系统 |
US20200026851A1 (en) * | 2018-07-19 | 2020-01-23 | Juniper Networks, Inc. | Extending dynamic detection of malware using static and dynamic malware analyses |
US20200104237A1 (en) * | 2018-10-01 | 2020-04-02 | International Business Machines Corporation | Optimized Trampoline Design For Fast Software Tracing |
CN111124906A (zh) * | 2019-12-17 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
CN115269393A (zh) * | 2022-07-21 | 2022-11-01 | 南京大学 | 一种基于硬件的程序动态函数调用序列追踪方法和装置 |
-
2020
- 2020-11-26 CN CN202011348051.5A patent/CN112433945A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02220145A (ja) * | 1989-02-22 | 1990-09-03 | Nec Corp | プログラムトレース方式 |
US20020199172A1 (en) * | 2001-06-07 | 2002-12-26 | Mitchell Bunnell | Dynamic instrumentation event trace system and methods |
CN101067798A (zh) * | 2007-06-14 | 2007-11-07 | 华南理工大学 | 一种动态探针方法及其在嵌入式系统中的应用 |
DE102009038177A1 (de) * | 2009-08-20 | 2011-03-24 | Hasso-Plattner-Institut für Softwaresystemtechnik GmbH | Ablaufverfolgung in einem laufenden Computersystem |
CN102222015A (zh) * | 2010-04-13 | 2011-10-19 | 三星电子(中国)研发中心 | 检测多线程程序中的死锁的方法及系统 |
CN102004680A (zh) * | 2010-11-23 | 2011-04-06 | 山东中创软件商用中间件股份有限公司 | 一种动态跟踪程序运行状态的方法及一种背板装置 |
CN102427423A (zh) * | 2011-11-07 | 2012-04-25 | 北京星网锐捷网络技术有限公司 | 一种网络流量跟踪及故障定位的方法、装置 |
US20130159977A1 (en) * | 2011-12-14 | 2013-06-20 | Microsoft Corporation | Open kernel trace aggregation |
CN103218219A (zh) * | 2012-01-18 | 2013-07-24 | 英飞凌科技股份有限公司 | 紧凑函数跟踪 |
CN104536892A (zh) * | 2015-01-05 | 2015-04-22 | 瑞斯康达科技发展股份有限公司 | 一种软件在线调试方法和系统 |
US20200026851A1 (en) * | 2018-07-19 | 2020-01-23 | Juniper Networks, Inc. | Extending dynamic detection of malware using static and dynamic malware analyses |
US20200104237A1 (en) * | 2018-10-01 | 2020-04-02 | International Business Machines Corporation | Optimized Trampoline Design For Fast Software Tracing |
CN111124906A (zh) * | 2019-12-17 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
CN115269393A (zh) * | 2022-07-21 | 2022-11-01 | 南京大学 | 一种基于硬件的程序动态函数调用序列追踪方法和装置 |
Non-Patent Citations (2)
Title |
---|
肖瑜;: "测试用例自动生成方法研究与实现", 现代电子技术, no. 16, 15 August 2008 (2008-08-15) * |
雷建云: "反跟踪程序设计的几点技巧", 电脑开发与应用, no. 01, 30 January 2000 (2000-01-30) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250543B2 (en) | Software tracing | |
US8769504B2 (en) | Method and apparatus for dynamically instrumenting a program | |
US9262283B2 (en) | Method for reading kernel log upon kernel panic in operating system | |
CN100440163C (zh) | 对计算机程序进行运行时分析的方法和系统 | |
CN111756575A (zh) | 存储服务器的性能分析方法及装置、电子设备 | |
JPH06222952A (ja) | デバッグ支援装置 | |
CN101546287A (zh) | 代码修改方法和代码修改设备 | |
CN114446381B (zh) | eMMC故障分析方法、装置、可读存储介质及电子设备 | |
CN114860586A (zh) | 一种基于动态插桩的二进制多执行体软件插桩方法 | |
CN106484779B (zh) | 文件操作方法及装置 | |
US5819024A (en) | Fault analysis system | |
JP2015114750A (ja) | 調査用プログラム,情報処理装置及び情報処理方法 | |
CN112433945A (zh) | 一种用于程序动态跟踪的方法、装置及电子设备 | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享系统及方法 | |
CN112286804B (zh) | 系统的调试方法、装置、设备和介质 | |
CN113821193A (zh) | 一种信息生成的方法、装置和存储介质 | |
CN112667502A (zh) | 页面测试方法、装置及介质 | |
CN101060686B (zh) | 一种移动终端中异常诊断和错误环境再现的方法及装置 | |
CN112199160B (zh) | 虚拟指令还原方法、装置、设备及存储介质 | |
CN110879783B (zh) | 一种程序测试方法、装置、设备及存储介质 | |
JP3309792B2 (ja) | スタックポインタトレース装置、スタックポインタトレース方法及び記録媒体 | |
JP3130870B2 (ja) | メモリダンプファイル再構成方式 | |
CN117435495A (zh) | 函数测试方法、装置、计算机可读存储介质及电子设备 | |
JPH11102310A (ja) | プログラムトレーサおよびトレースデータ圧縮記録方法 | |
CN118227486A (zh) | 发行版本的调试方法、调试装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |