[发明专利]一种基于日志实时单步调试方法和装置在审
申请号: | 201910789399.9 | 申请日: | 2019-08-23 |
公开(公告)号: | CN110489294A | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 俞颖奇;郭亚群;张晓东 | 申请(专利权)人: | 上海光电医用电子仪器有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 11015 北京英特普罗知识产权代理有限公司 | 代理人: | 林彦之<国际申请>=<国际公布>=<进入 |
地址: | 201401 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单步调试 线程 调试环境 瞬时状态 日志 唤醒 软硬件设备 时序 操作指令 额外代码 技术效果 检测模式 软件开发 涉及设备 指令分配 断点 对线 挂起 时线 调试 调查 指令 回收 输出 响应 分配 恢复 保证 | ||
本发明公开了一种基于日志实时单步调试方法,涉及设备调试领域,在检测模式下,对线程中最近的待执行指令分配事件;挂起所述线程的执行;响应于第一操作指令,唤醒所述线程中的事件并恢复所述线程的执行;将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令。本发明技术效果在于使现场人员不依赖于软件开发人员与调试环境,简单操作即可使系统保持在每条日志输出后的瞬时状态,方便地调查处于瞬时状态下的软硬件设备,相比于使用调试环境设置断点的单步调试,本发明不需要添加额外代码,也能保证单步调试与正常运行时线程间的时序一致,提升了调查的效率及准确性。
技术领域
本发明涉及设备调试领域,尤其涉及一种基于日志实时单步调试方法和装置。
背景技术
系统发生故障时,主要通过事后分析和事中分析来调试,排查故障。事后分析,即现场人员收集系统运行的日志后,再交由开发人员,通过分析日志内容来判断故障原因。但受限于日志信息不全及人员经验,往往无法把握故障时软硬件的运行状态及预想外的状况。同时故障往往发生在一系列连续动作中的某一个步骤,由于瞬时状态不可维持,现场人员缺少系统运行时保持瞬时状态的手段,无法排查处于此状态下的软硬件故障。(例如通过程控方式设置继电器动作,当继电器或是相关电路存在物理损坏时,即使通过日志信息确认到了程控指令及指令反馈都正常,但凭日志开发人员并不能判断出物理损坏的实际状况,且由于继电器切换往往发生在短时间内,设备的运行状态很快的发生了变化,现场人员也无法调查故障时的设备状态。)因此这种方法调查往往精度差,效率低。
事中调试,即开发人员在现场或者远程,依赖调试工具对系统进行实时单步调试。这种调试方式非常直观,但需要软件开发人员协同作业,还需要安装调试环境,调试环境安装复杂,且基于成本原因,不可能每台设备出厂前均内置调试环境供未来开发人员使用,增加了调查故障的时间及成本。此外即使利用调试环境通过设置断点单步调试,有时也难于处理多线程任务间的时序关系(比如中断在某个断点调试时,程序将被阻塞,导致本应执行的其他线程也被阻塞),造成动作在时序上的差异,导致调试时软硬件动作与实际运行动作不一致而失真。这种失真在有多个设备或线程并发动作的系统时尤为常见。开发人员为了规避这些问题,往往需要添加特别的代码,额外增加了开发人员的开发负担。这种方式调查成本高,难度高。
目前相关专利都集中于优化日志输出(比如减少冗余日志,完善输出信息等)用于事后调查或者实现远程调试用于事中调查。因此亟需一种无需开发人员,方便现场人员调试设备的方法。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题提供一种方法,使设备保持在瞬时状态,便于现场人员调查。
为实现上述目的,本发明提供了一种基于日志实时单步调试方法,包括:
在检测模式下,对线程中最近的待执行指令分配事件;
挂起所述线程的执行;
响应于第一操作指令,唤醒所述线程中的事件并恢复所述线程的执行;
将被唤醒的事件回收并分配下一个事件给下一个最近的待执行指令。
进一步地,所述为线程分配事件的步骤包括:
根据事件池对所述事件编号得到的事件编号为所述线程中最近的待执行指令分配所述事件;其中,所述事件池包括的事件数量大于或等于所述线程的数量。
进一步地,根据事件池对所述事件编号得到的事件编号为线程中最近的待执行指令分配所述事件的步骤包括:
若N=M,将事件编号为1的事件分配至所述最近的待执行指令;
若N<M,将事件编号为N+1的事件分配至所述最近的待执行指令;其中,1≤N≤M,M表示所述事件池的事件数量,N表示前一次分配的事件编号,N为自然数;
若N<M,将前一次分配的事件编号为N+1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海光电医用电子仪器有限公司,未经上海光电医用电子仪器有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910789399.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种接口安全测试自动化系统
- 下一篇:一种在线控制媒体机内内容播放过程方法