CN110489294B - 一种基于日志实时单步调试方法和装置 - Google Patents
一种基于日志实时单步调试方法和装置 Download PDFInfo
- Publication number
- CN110489294B CN110489294B CN201910789399.9A CN201910789399A CN110489294B CN 110489294 B CN110489294 B CN 110489294B CN 201910789399 A CN201910789399 A CN 201910789399A CN 110489294 B CN110489294 B CN 110489294B
- Authority
- CN
- China
- Prior art keywords
- event
- thread
- instruction
- executed
- log
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000001514 detection method Methods 0.000 claims abstract description 31
- 230000002618 waking effect Effects 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000011022 operating instruction Methods 0.000 claims abstract description 3
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004064 recycling Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 238000011835 investigation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000015654 memory Effects 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
- 230000008569 process Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2268—Logging of test results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于日志实时单步调试方法,涉及设备调试领域,在检测模式下,对线程中最近的待执行指令分配事件;挂起所述线程的执行;响应于第一操作指令,唤醒所述线程中的事件并恢复所述线程的执行;将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令。本发明技术效果在于使现场人员不依赖于软件开发人员与调试环境,简单操作即可使系统保持在每条日志输出后的瞬时状态,方便地调查处于瞬时状态下的软硬件设备,相比于使用调试环境设置断点的单步调试,本发明不需要添加额外代码,也能保证单步调试与正常运行时线程间的时序一致,提升了调查的效率及准确性。
Description
技术领域
本发明涉及设备调试领域,尤其涉及一种基于日志实时单步调试方法和装置。
背景技术
系统发生故障时,主要通过事后分析和事中分析来调试,排查故障。事后分析,即现场人员收集系统运行的日志后,再交由开发人员,通过分析日志内容来判断故障原因。但受限于日志信息不全及人员经验,往往无法把握故障时软硬件的运行状态及预想外的状况。同时故障往往发生在一系列连续动作中的某一个步骤,由于瞬时状态不可维持,现场人员缺少系统运行时保持瞬时状态的手段,无法排查处于此状态下的软硬件故障。(例如通过程控方式设置继电器动作,当继电器或是相关电路存在物理损坏时,即使通过日志信息确认到了程控指令及指令反馈都正常,但凭日志开发人员并不能判断出物理损坏的实际状况,且由于继电器切换往往发生在短时间内,设备的运行状态很快的发生了变化,现场人员也无法调查故障时的设备状态。)因此这种方法调查往往精度差,效率低。
事中调试,即开发人员在现场或者远程,依赖调试工具对系统进行实时单步调试。这种调试方式非常直观,但需要软件开发人员协同作业,还需要安装调试环境,调试环境安装复杂,且基于成本原因,不可能每台设备出厂前均内置调试环境供未来开发人员使用,增加了调查故障的时间及成本。此外即使利用调试环境通过设置断点单步调试,有时也难于处理多线程任务间的时序关系(比如中断在某个断点调试时,程序将被阻塞,导致本应执行的其他线程也被阻塞),造成动作在时序上的差异,导致调试时软硬件动作与实际运行动作不一致而失真。这种失真在有多个设备或线程并发动作的系统时尤为常见。开发人员为了规避这些问题,往往需要添加特别的代码,额外增加了开发人员的开发负担。这种方式调查成本高,难度高。
目前相关专利都集中于优化日志输出(比如减少冗余日志,完善输出信息等)用于事后调查或者实现远程调试用于事中调查。因此亟需一种无需开发人员,方便现场人员调试设备的方法。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题提供一种方法,使设备保持在瞬时状态,便于现场人员调查。
为实现上述目的,本发明提供了一种基于日志实时单步调试方法,包括:
在检测模式下,对线程中最近的待执行指令分配事件;
挂起所述线程的执行;
响应于第一操作指令,唤醒所述线程中的事件并恢复所述线程的执行;
将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令。
进一步地,所述为线程分配事件的步骤包括:
根据事件池对所述事件编号得到的事件编号为所述线程中最近的待执行指令分配所述事件;其中,所述事件池包括的事件数量大于或等于所述线程的数量。
进一步地,根据事件池对所述事件编号得到的事件编号为线程中最近的待执行指令分配所述事件的步骤包括:
若N=M,将事件编号为1的事件分配至所述最近的待执行指令;
若N<M,将事件编号为N+1的事件分配至所述最近的待执行指令;其中,1≤N≤M,M表示所述事件池的事件数量,N表示前一次分配的事件编号,N为自然数;
若N<M,将前一次分配的事件编号为N+1;
若N=M,将前一次分配的事件编号为1。
进一步地,唤醒所述线程中的事件的步骤包括:
将分配的所述事件发送至时序队列;其中,所述时序队列为先进先出队列;
唤醒所述时序队列中时序最早的事件。
进一步地,对线程中最近的日志输出指令分配事件;将所述被唤醒的事件回收并分配下一个事件给下一个最近的日志输出指令。
进一步地,还包括:
在运行模式下,对所述线程正常执行。
本发明还提供了一种基于日志实时单步调试装置,其特征在于,包括:
分配模块,用于对线程中最近的待执行指令分配事件,以及将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令;
单步调试模块,用于在检测模式下,挂起所述线程的执行;
唤醒模块,用于响应于第一操作指令,唤醒所述线程的事件并恢复所述线程的执行。
进一步地,所述分配模块包括:
事件池子模块,用于根据事件池对所述事件分配编号得到的事件编号为线程分配所述事件;其中,所述事件池包括的事件数量大于或等于所述线程的数量。
进一步地,所述事件池子模块具体用于:
若N=M,将事件编号为1的事件分配至所述线程;
若N<M,将事件编号为N+1的事件分配至所述线程;其中,1≤N≤M,M表示所述事件池的事件数量,N表示前一次分配的事件编号,N为自然数;
若N<M,将前一次分配的事件编号为N+1;
若N=M,将前一次分配的事件编号为1。
进一步地,所述唤醒模块包括:
时序队列子模块,用于将分配的所述事件发送至时序队列;其中,所述时序队列为先进先出队列;
唤醒所述时序队列中时序最早的事件。
进一步地,所述分配模块对线程中最近的日志输出指令分配事件;将被唤醒的事件回收并分配下一个事件给下一个最近的日志输出指令。
进一步地,还包括:交互界面模块;
所述交互界面模块包括:第一按键、第二按键和第三按键;
所述第一按键用于切换为运行模式;其中,在运行模式下,对所述线程正常执行;
所述第二按键用于切换为检测模式;
所述第三按键用于触发第一操作指令。
本发明还提供了一种存储介质,所述存储介质存储计算机程序指令,所述计算机程序指令根据前述所述的方法进行执行。
本发明技术效果在于使现场人员不依赖于软件开发人员与调试环境,简单操作即可使系统保持在每条日志输出后的瞬时状态,方便地调查处于瞬时状态下的软硬件设备,相比于使用调试环境设置断点的单步调试,本发明不需要添加额外代码,也能保证单步调试与正常运行时线程间的时序一致,提升了调查的效率及准确性。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例的事件流程示意图;
图2为本发明另一实施例的流程示意图;
图3为本发明另一实施例的流程示意图;
图4为本发明交互界面模块的示意图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
实施例1
图1为实施例1的基于日志实时单步调试方法的流程示意图,如图1所示,提供了一种基于日志实时单步调试方法,包括:
S101:在检测模式下,对线程中最近的待执行指令分配事件;
S102:挂起所述线程的执行;
S103:响应于第一操作指令,唤醒所述线程的事件并恢复所述线程的执行;
S104:将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令。
通过上述方法,本发明在检测模式下,利用了线程间的通信机制---事件的等待唤醒将线程挂起与继续运行。通过将事件分配给线程,线程在收到事件后调用循环函数,例如while循环。此时线程被挂起,与该线程对应的设备动作被挂起,现场人员即可调查处于该任务状态下的设备的软硬件信息,排查故障。此时线程循环反复判断事件是否被唤醒,若事件未被唤醒,则继续循环直至事件被唤醒。判断的时间间隔可根据实际情况设置,在此不作限定。事件被唤醒后,该事件被回收,同时分配下一个事件给下一个最近的待执行指令,以此实现了单步调试检测功能。
可选的,事件被分配后,线程可挂起在待执行指令被执行前,也可挂起在待执行指令被执行后。
实施例2
图2为实施例2的基于日志实时单步调试方法的流程示意图,如图2所示,提供了一种基于日志实时单步调试方法,包括:
S201:在检测模式下,对线程中最近的待执行指令按如下步骤分配事件:
若N<M,将事件池中事件编号为N+1的事件分配至所述最近的待执行指令,再将前一次分配的事件编号为N+1;若N=M,将事件编号为1的事件分配至所述最近的待执行指令,再将前一次分配的事件编号为1;
S202:将分配的所述事件发送至时序队列;其中,所述时序队列为先进先出队列;
S203:挂起被分配事件的线程的执行;
S204:响应于第一操作指令,唤醒所述时序队列中时序最早的事件并恢复所述线程的执行;
S205:将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令;
其中,1≤N≤M,M表示所述线程的数量,N表示前一次分配的事件编号,N为自然数。
事件池为一数组容器,根据最大实际线程数定义,事件数大于或等于最大线程数,其中的事件均具有编号,当线程由运行模式切换为检测模式时,首先取得上次分配事件的编号,将该编号的下一位分配给所有线程中最近的待执行指令,将该线程称为当前线程,之后其他线程中最近的待执行指令按整体运行时间的先后顺序被分配事件,以此将所有线程挂起并挂起。分配的事件会按时间顺序进入时序队列,时序队列为一先进先出的队列容器,在收到唤醒事件的指令时,最先进入该时序队列的事件将被取出并唤醒该事件,与之对应的任务恢复运行并将被唤醒的事件回收,同时将新事件按上述规则分配给下一个最近的待执行指令。该下一个最近的待执行指令根据实际情况,可以是其他线程中的待执行指令,也可以是与被唤醒的待执行指令对应线程中的下一个待执行指令。需要注意的是,在进入检测模式时,分配的事件数不一定与最大线程数相等,而是依照程序进入检测模式时的时间点运行的线程数来分配。若假设进入检测模式时的时间点运行的线程数只有三个,则只会按待执行指令的顺序分配出三个事件,例如事件1至3,在收到唤醒事件的指令后,最先进入时序队列的事件(假设为事件1)被回收,之后从事件池中取出事件4(因为前一次分配的事件编号为3),并将其分配给下一个最近的待执行指令。被回收的事件1会一直存在于事件池中,直到前一次分配的事件编号与最大线程数相等时,再分配事件1给新的最近的待执行指令,以此类推。若进入检测模式时运行的事件数与最大线程数相等,则响应于唤醒事件的指令后,直接将被唤醒的事件分配给下一个最近的待执行指令并进入时序队列。
进一步地,本发明包括运行模式和检测模式。模式可以按需求随时切换,允许了线程先在正常模式下运行一段时间,待线程运行至问题指令后,再将运行模式切换为检测模式,避免了从线程起始单步地将待执行指令运行至问题指令,增加了易用性和灵活性。故障检测完毕后,用户退出检测模式,线程回到运行模式并继续按预设指令正常执行,无需重启。
进一步地,为了减少系统冗余与增加易用性,线程下的所有待执行指令可以可选地输出日志,将相对重要的指令的日志参数输出,便于现场开发人员查看。换句话说,在指令执行后,在该指令后输出指令已完成的日志。此时,在上述方法和系统中,将分配的所有事件由最近的待执行指令更改为最近的日志输出指令,即线程被挂起时,是基于日志挂起的。在线程进入检测模式并按步骤被挂起后,响应于第一操作指令,线程中的指令将直接运行至最近的日志输出指令,再将该线程挂起。如此便省去了在指令中逐步点选进行调试的时间,进一步增加了易用性。
实施例3
图3为本发明实施例3的基于日志实时单步调试的方法的流程示意图,如图3所示,提供了一种基于日志实时单步调试装置,包括:
分配模块31,用于对线程中最近的待执行指令分配事件,以及将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令;
单步调试模块32,用于在检测模式下,挂起所述线程的执行;
唤醒模块33,用于响应于第一操作指令,唤醒所述线程中的事件并恢复所述线程的执行;
所述分配模块31还包括事件池子模块311,用于根据事件池对所述事件重新编号得到的事件编号为线程中最近的待执行指令分配所述事件;其中,所述事件池包括的事件数量不超过所述线程的数量;
所述唤醒模块33还包括时序队列子模块331,用于将分配的所述事件发送至时序队列;其中,所述时序队列为先进先出队列;
唤醒所述时序队列中时序最早的事件。
本发明实施例3的基于日志实时单步调试装置,为本发明实施例2的基于日志实时单步调试方法的实现装置,具体可参考图2实施例,此处不再赘述。
进一步地,系统还包括交互界面模块34,如图4所示,“Auto Running”为运行模式,“Step Debug”为检测模式,“Next”为可以在线程进入单步调试模式并挂起后,用于触发第一操作指令,通过点选该按钮,逐个地运行线程下的任务。
进一步地,分配模块31、单步调试模块32、唤醒模块33、事件池子模块311以及时序队列子模块331被封装入动态链接库(dll),形成系统组件。其他设备软件开发在开发时,可预留该组件的接口,现场人员检测调试设备时,可直接引入该dll文件,其他设备软件引用后,即可直接调用,不增加开发人员的负荷,现场人员不依赖于软件开发人员、调试环境,简单操作即可使系统保持在每条日志输出后的瞬时状态,方便地调查处于瞬时状态下的软硬件设备。
实施例4
本实施例涉及线程为单个的情况,目的为检测设备的软硬件动作是否正常。某检测项目的测试逻辑如下步骤所述:
步骤1)设置直流电源后,打开电源输出
步骤2)日志输出=>直流电源的电源设定参数
步骤3)设置一组继电器开关,控制继电器动作
步骤4)日志输出=>继电器的设置参数
步骤5)系统从CPU获取标志信息进行判定
步骤6)日志输出=>从CPU获取标志信息
现场人员在引入dll程序后,打开交互界面模块,使用默认的运行模式,观察输出的日志滚动至某检测项目开始前,选择检测模式,此时线程被挂起,事件被分配至“步骤2)日志输出=>直流电源的电源设定参数”,现场人员即可以调查直流电源相关问题。调查完毕后,若想继续调查下一项,则可按下交互界面模块的“Next”按钮,唤醒事件,并再将事件分配至“步骤4)日志输出=>继电器的设置参数”,现场人员即可调查继电器开关相关问题。调查完成后,现场人员点选运行模式,单步调试结束,线程继续运行。
实施例5
本实施例涉及线程为多个的情况,目的为检测设备的软硬件动作是否正常。硬件背景情况为,对象板电源按钮长按3秒为开机,但长按超过5秒则会导致关机,若使用常规设置断点单步调试新线程时,主线程的电源按钮仍未松开,会使硬件直接关机,令后续的调试调查无法正常开展。
某检测项目的测试逻辑如下步骤所述。
主线程
步骤1.1按下对象板电源按钮
并维持按下状态3秒
步骤1.2创建新线程=>新线程
步骤1.3日志输出=>电源按钮按下步骤2.1获取开机信息
步骤1.4松开对象板电源按钮步骤2.2日志输出=>开机信息
步骤1.5日志输出=>电源按钮松开
根据本发明,现场人员在引入dll程序后,打开交互界面模块,使用默认的运行模式,观察输出的日志滚动至某检测项目开始前,选择检测模式,此时线程被挂起,事件池中的事件1被分配至“步骤1.3日志输出=>电源按钮按下”,同时事件2被分配至“步骤2.2日志输出=>开机信息”,此时点选“Next”,事件1将被唤醒并回收,主线程将直接运行至“步骤1.5日志输出=>电源按钮松开”并再次被分配事件而挂起,此时新线程中的“步骤2.2日志输出=>开机信息”仍然维持挂起状态。如此即提前将主线程中的开机流程完成,避免了在调查开机信息相关问题时,硬件由于未完成开机流程,导致关机的问题。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
以上详细描述了本发明的较佳具体实施例,所属领域的技术人员应当可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (6)
1.一种基于日志实时单步调试方法,其特征在于,包括:
使用默认的运行模式,观察输出的日志滚动至某检测项目开始前,选择检测模式;
在检测模式下,对线程中最近的待执行指令分配事件;
所述对线程中最近的待执行指令分配事件的步骤包括:
根据事件池对所述事件分配编号,根据得到的事件编号为所述线程中最近的待执行指令分配所述事件;其中,所述事件池包括的事件数量大于或等于所述线程的数量;
根据事件池对所述事件分配编号,根据得到的事件编号为所述线程中最近的待执行指令分配所述事件的步骤包括:
若N=M,将事件编号为1的事件分配至所述最近的待执行指令;
若N<M,将事件编号为N+1的事件分配至所述最近的待执行指令;其中,1≤N≤M,M表示所述事件池的事件数量,N表示前一次分配的事件编号,N为自然数;
若N<M,将前一次分配的事件编号为N+1;
若N=M,将前一次分配的事件编号为1;
将分配的所述事件发送至时序队列;其中,所述时序队列为先进先出队列;
挂起所述线程的执行;
在检测模式下,触发第一操作指令;
响应于第一操作指令,唤醒所述线程中的事件并恢复所述线程的执行;
唤醒所述时序队列中时序最早的事件;
将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令。
2.根据权利要求1所述的基于日志实时单步调试方法,其特征在于,对线程中最近的日志输出指令分配事件;将所述被唤醒的事件回收并分配下一个事件给下一个最近的日志输出指令。
3.根据权利要求1所述的基于日志实时单步调试方法,其特征在于,还包括:在运行模式下,对所述线程正常执行。
4.一种基于日志实时单步调试装置,其特征在于,包括:
分配模块,用于对线程中最近的待执行指令分配事件,以及将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令;
所述分配模块包括:
事件池子模块,用于根据事件池对所述事件分配编号,根据得到的事件编号为线程分配所述事件;其中,所述事件池包括的事件数量大于或等于所述线程的数量;
单步调试模块,用于在检测模式下,挂起所述线程的执行;
唤醒模块,用于响应于第一操作指令,唤醒所述线程的事件并恢复所述线程的执行;
所述唤醒模块包括:
时序队列子模块,用于将分配的所述事件发送至时序队列;其中,所述时序队列为先进先出队列;
唤醒所述时序队列中时序最早的事件;
所述事件池子模块具体用于:
若N=M,将事件编号为1的事件分配至所述线程;
若N<M,将事件编号为N+1的事件分配至所述线程;其中,1≤N≤M,M表示所述事件池的事件数量,N表示前一次分配的事件编号,N为自然数;
若N<M,将前一次分配的事件编号为N+1;
若N=M,将前一次分配的事件编号为1;
交互界面模块;
所述交互界面模块包括:第一按键、第二按键和第三按键;
所述第一按键用于切换为运行模式;其中,在运行模式下,对所述线程正常执行;
所述第二按键用于切换为检测模式;
所述第三按键用于触发第一操作指令。
5.根据权利要求4所述的基于日志实时单步调试装置,其特征在于,所述分配模块对线程中最近的日志输出指令分配事件;将被唤醒的事件回收并分配下一个事件给下一个最近的日志输出指令。
6.一种存储介质,其特征在于,所述存储介质存储计算机程序指令,所述计算机程序指令根据权利要求1所述的方法进行执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789399.9A CN110489294B (zh) | 2019-08-23 | 2019-08-23 | 一种基于日志实时单步调试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910789399.9A CN110489294B (zh) | 2019-08-23 | 2019-08-23 | 一种基于日志实时单步调试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489294A CN110489294A (zh) | 2019-11-22 |
CN110489294B true CN110489294B (zh) | 2023-12-19 |
Family
ID=68553946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910789399.9A Active CN110489294B (zh) | 2019-08-23 | 2019-08-23 | 一种基于日志实时单步调试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489294B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782312A (zh) * | 2020-05-14 | 2020-10-16 | 北京爱接力科技发展有限公司 | 一种切换模式方法、装置、机器人及计算机可读存储介质 |
CN113961921A (zh) * | 2021-10-22 | 2022-01-21 | 北京天融信网络安全技术有限公司 | 恶意程序检测方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335962A (zh) * | 1999-09-07 | 2002-02-13 | 皇家菲利浦电子有限公司 | 面向线程的调试 |
US6714958B1 (en) * | 1999-07-28 | 2004-03-30 | International Business Machines Corporation | Detecting and causing latent deadlocks in multi-threaded programs |
CN101295279A (zh) * | 2007-04-29 | 2008-10-29 | 国际商业机器公司 | 多线程环境下的调试程序的方法和系统 |
CN102968372A (zh) * | 2012-11-29 | 2013-03-13 | 中国矿业大学 | 具有程序分析功能的程序调试系统 |
CN105095079A (zh) * | 2015-07-27 | 2015-11-25 | 电子科技大学 | 一种热点模块指令跟踪的方法及设备 |
CN108268348A (zh) * | 2017-12-08 | 2018-07-10 | 广州视源电子科技股份有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN109660399A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 一种远程调试的方法及系统 |
CN110147314A (zh) * | 2019-04-12 | 2019-08-20 | 深圳壹账通智能科技有限公司 | 测试方法、装置及计算机可读存储介质 |
-
2019
- 2019-08-23 CN CN201910789399.9A patent/CN110489294B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6714958B1 (en) * | 1999-07-28 | 2004-03-30 | International Business Machines Corporation | Detecting and causing latent deadlocks in multi-threaded programs |
CN1335962A (zh) * | 1999-09-07 | 2002-02-13 | 皇家菲利浦电子有限公司 | 面向线程的调试 |
CN101295279A (zh) * | 2007-04-29 | 2008-10-29 | 国际商业机器公司 | 多线程环境下的调试程序的方法和系统 |
CN102968372A (zh) * | 2012-11-29 | 2013-03-13 | 中国矿业大学 | 具有程序分析功能的程序调试系统 |
CN105095079A (zh) * | 2015-07-27 | 2015-11-25 | 电子科技大学 | 一种热点模块指令跟踪的方法及设备 |
CN108268348A (zh) * | 2017-12-08 | 2018-07-10 | 广州视源电子科技股份有限公司 | 接口测试方法、装置、移动终端及存储介质 |
CN109660399A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 一种远程调试的方法及系统 |
CN110147314A (zh) * | 2019-04-12 | 2019-08-20 | 深圳壹账通智能科技有限公司 | 测试方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110489294A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN102541686B (zh) | 一种使用虚拟机来实现系统的备份以及灾难恢复的方法 | |
JPS62298839A (ja) | 障害時に計算機システムを再始動する方法 | |
CN110489294B (zh) | 一种基于日志实时单步调试方法和装置 | |
CN111400139A (zh) | 多数据中心批量作业的管控和调度系统、方法及存储介质 | |
CN106789306A (zh) | 通信设备软件故障检测收集恢复方法和系统 | |
CN106201690A (zh) | 应用运行控制方法及装置 | |
WO2023092772A1 (zh) | 一种虚拟化集群高可用性的实现方法和设备 | |
CN105095008A (zh) | 一种适用于集群系统的分布式任务故障冗余方法 | |
CN105589756A (zh) | 批处理集群系统以及方法 | |
CN110798339A (zh) | 一种基于分布式任务调度框架的任务容灾方法 | |
CN110209497A (zh) | 一种主机资源动态扩缩容的方法及系统 | |
CA2152329C (en) | Apparatus and methods for software rejuvenation | |
CN112463550A (zh) | 一种终端设备状态的远程监控方法、装置及设备 | |
US5583986A (en) | Apparatus for and method of duplex operation and management for signalling message exchange no. 1 system | |
CN108154343B (zh) | 一种企业级信息系统的应急处理方法及系统 | |
CN114217925B (zh) | 一种实现异常自动重启的业务程序运行监控方法及系统 | |
CN106528276A (zh) | 一种基于任务调度的故障处理方法 | |
CN115858499A (zh) | 一种数据库分区处理方法、装置、计算机设备和存储介质 | |
CN113419921A (zh) | 一种任务监控方法、装置、设备以及存储介质 | |
CN102023887A (zh) | 一种计算机系统的电源管理方法及计算机系统 | |
CN114598591A (zh) | 嵌入式平台节点故障恢复系统及方法 | |
CN110519393B (zh) | 自助设备的监管方法、装置、设备、服务器和介质 | |
CN113515356A (zh) | 一种轻量级分布式资源管理与任务调度器及方法 | |
CN110865873A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |