本发明专利技术涉及程序崩溃现场复现技术领域,具体提供了一种适用于IROS的崩溃现场保存方法,崩溃现场保存工具GuardNode需要随IROS启动而启动,能够获得IROS系统中正在运行的各个节点信息以及各个节点的通讯关系,包括消息订阅关系、服务订阅关系以及参数访问关系。与现有技术相比,本发明专利技术当程序发生崩溃时,保存崩溃现场及复现崩溃现场的launch文件,大大缩短了工程维护人员复现崩溃现场和解决问题的时间。程维护人员复现崩溃现场和解决问题的时间。程维护人员复现崩溃现场和解决问题的时间。
【技术实现步骤摘要】
一种适用于IROS的崩溃现场保存方法及系统
[0001]本专利技术涉及程序崩溃现场复现
,具体提供一种适用于IROS的崩溃现场保存方法及系统。
技术介绍
[0002]IROS是一个智能机器人操作系统,安装简单,兼容各种常见系统。搭载有IROS的机器人可以集成多种路径规划和导航算法,同时由于其数据传输的实时性和安全性,保证了机器人能在各种不同工况下安全高效地运行。
[0003]在具体的IROS应用项目中,往往是根据需要将一个工程按照功能划分成多个节点的方式运行,节点之间通过消息、服务和参数等相互通讯,最后通过launch文件的方式批量启动。这种分布式工程可以将项目模块化,提高开发和测试效率,但是在IROS系统下,各个节点之间的通讯错综复杂,多个节点也增加了程序发生异常的几率。节点出现异常而崩溃后,虽然可以通过dump文件的方式分析原因,但是无法复现节点之间复杂的通讯关系,程序崩溃现场复现起来比较麻烦。
技术实现思路
[0004]本专利技术是针对上述现有技术的不足,提供一种实用性强的适用于IROS的崩溃现场保存方法。
[0005]本专利技术进一步的技术任务是提供一种设计合理,安全适用的用于IROS的崩溃现场保存系统。
[0006]本专利技术解决其技术问题所采用的技术方案是:
[0007]一种适用于IROS的崩溃现场保存方法,崩溃现场保存工具GuardNode需要随IROS启动而启动,能够获得IROS系统中正在运行的各个节点信息以及各个节点的通讯关系,包括消息订阅关系、服务订阅关系以及参数访问关系。
[0008]进一步的,GuardNode节点作为一个IROS中的普通节点,随IROS启动而启动,也会在IROS中进行注册。
[0009]进一步的,所述GuardNode节点在启动后,会主动获取系统中各个节点以及节点间的信息,并建立起节点之间的关系网,并将消息、服务及参数的访问关系也添加到这个关系网中,当有节点新增或者删除时,更新这个关系网。
[0010]进一步的,GuardNode节点在检测到有异常的节点发生崩溃时,立刻收集异常节点的现场信息,并将收集的异常节点现场信息保存至本地文件,供工程维护人员查阅,接着紧跟着生成用于恢复现场的launch文件。
[0011]进一步的,所述launch文件是一个脚本文件,是GuardNode根据节点运行时的数据通讯关系所生成的批量启动文件,工程维护人与可直接运行所述launch文件,快速复现崩溃现场。
[0012]作为优选,收集异常节点的现场信息包括崩溃位置信息、堆栈信息、与IROS内其他
节点的消息、服务和参数通讯信息。
[0013]一种适用于IROS的崩溃现场保存系统,崩溃现场保存工具GuardNode需要随IROS启动而启动,能够获得IROS系统中正在运行的各个节点信息以及各个节点的通讯关系,包括消息订阅关系、服务订阅关系以及参数访问关系。
[0014]进一步的,GuardNode节点作为一个IROS中的普通节点,随IROS启动而启动,也会在IROS中进行注册。
[0015]进一步的,所述GuardNode节点在启动后,会主动获取系统中各个节点以及节点间的信息,并建立起节点之间的关系网,并将消息、服务及参数的访问关系也添加到这个关系网中,当有节点新增或者删除时,更新这个关系网
[0016]GuardNode节点在检测到有异常的节点发生崩溃时,立刻收集异常节点的现场信息,并将收集的异常节点现场信息保存至本地文件,供工程维护人员查阅,接着紧跟着生成用于恢复现场的launch文件。
[0017]进一步的,所述launch文件是一个脚本文件,是GuardNode根据节点运行时的数据通讯关系所生成的批量启动文件,工程维护人与可直接运行所述launch文件,快速复现崩溃现场。
[0018]本专利技术的一种适用于IROS的崩溃现场保存方法及系统和现有技术相比,具有以下突出的有益效果:
[0019]本专利技术适用于IROS的崩溃现场保存工具能够在IROS项目运行时实时监控各个节点运行状态,当程序发生崩溃时,保存崩溃现场及复现崩溃现场的launch文件,大大缩短了工程维护人员复现崩溃现场和解决问题的时间。
附图说明
[0020]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]附图1是一种适用于IROS的崩溃现场保存方法的流程示意图;
[0022]附图2是一种适用于IROS的崩溃现场保存方法中GuardNode与其他节点的通讯关系示意图。
具体实施方式
[0023]为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。
[0024]下面给出一个最佳实施例:
[0025]如图1
‑
2所述,本实施例中的一种适用于IROS的崩溃现场保存方法,崩溃现场保存工具GuardNode需要随IROS启动而启动,能够获得IROS系统中正在运行的各个节点信息以及各个节点的通讯关系,包括消息订阅关系、服务订阅关系以及参数访问关系。
[0026]GuardNode作为一个IROS中的普通节点,随IROS启动而启动,也会在IROS中进行注册。
[0027]GuardNode节点在启动后,会主动获取系统中各个节点以及节点间的信息,并建立起节点之间的关系网,并将消息、服务及参数的访问关系也添加到这个关系网中,当有节点新增或者删除时,更新这个关系网;
[0028]GuardNode节点在检测到有异常的节点发生崩溃时,立刻收集异常节点的现场信息,包括崩溃位置信息、堆栈信息、与IROS内其他节点的消息、服务和参数通讯信息等,并将这些信息保存至本地文件,供工程维护人员查阅,同时为方便进行崩溃现场的复现,会紧跟着生成用于恢复现场的launch文件,该文件是一个脚本文件,是GuardNode根据节点运行时的数据通讯关系所生成的批量启动文件,工程维护人与可直接运行该launch文件,快速复现崩溃现场;
[0029]工程维护人员一方面可以根据保存的崩溃现场文件分析崩溃原因,也可以直接启动GuardNode生成的launch文件,通过真实的崩溃现场分析崩溃原因。
[0030]基于上述方法,一种适用于IROS的崩溃现场保存系统,崩溃现场保存工具GuardNode需要随IROS启动而启动,能够获得IROS系统中正在运行的各个节点信息以及各个节点的通讯关系,包括消息订阅关系、服务订阅关系以及参数访问关系。<本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种适用于IROS的崩溃现场保存方法,其特征在于,崩溃现场保存工具GuardNode需要随IROS启动而启动,能够获得IROS系统中正在运行的各个节点信息以及各个节点的通讯关系,包括消息订阅关系、服务订阅关系以及参数访问关系。2.根据权利要求1所述的一种适用于IROS的崩溃现场保存方法,其特征在于,GuardNode节点作为一个IROS中的普通节点,随IROS启动而启动,也会在IROS中进行注册。3.根据权利要求1或2所述的一种适用于IROS的崩溃现场保存方法,其特征在于,所述GuardNode节点在启动后,会主动获取系统中各个节点以及节点间的信息,并建立起节点之间的关系网,并将消息、服务及参数的访问关系也添加到这个关系网中,当有节点新增或者删除时,更新这个关系网。4.根据权利要求3所述的一种适用于IROS的崩溃现场保存方法,其特征在于,GuardNode节点在检测到有异常的节点发生崩溃时,立刻收集异常节点的现场信息,并将收集的异常节点现场信息保存至本地文件,供工程维护人员查阅,接着紧跟着生成用于恢复现场的launch文件。5.根据权利要求4所述的一种适用于IROS的崩溃现场保存方法,其特征在于,所述launch文件是一个脚本文件,是GuardNode根据节点运行时的数据通讯关系所生成的批量启动文件,工程维护人与可直接运行所述launch文件,快速复现崩溃现场。6.根据权利要求5所述的一种适用于IROS的崩溃现场保...
【专利技术属性】
技术研发人员:王召东,李朝铭,高明,
申请(专利权)人:山东新一代信息产业技术研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。