[发明专利]基于微内核架构的变量实时监视方法及系统有效
申请号: | 201811564246.6 | 申请日: | 2018-12-20 |
公开(公告)号: | CN109634574B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 刘银森;郜鹏;肖威 | 申请(专利权)人: | 武汉精立电子技术有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F11/30 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 黄行军 |
地址: | 430070 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内核 架构 变量 实时 监视 方法 系统 | ||
本发明提供了一种基于微内核架构的变量实时监视方法及系统,包括以下步骤:在应用程序的框架内编写基本类型或者自定义类型的包装类;编写包装类的构造函数和析构函数并重载操作符;并在构造函数和析构函数内对需要监视的变量进行标记;构建需要监视的变量的本地数据库,用于存储应用程序运行时包装类的需要监视的变量的变化信息;根据监视UI需求定制监视显示插件,设置有指定的监视变量;将指定的监视变量通过包装类进行定义替换;应用程序运行状态下,运行并启动监视显示插件,监视显示插件从本地数据库中获取指定监视变量的变化情况并进行显示。本发明使应用此框架开发出的应用均具备在运行状态下便捷、友好的变量监视能力。
技术领域
本发明涉及软件架构技术领域,具体涉及一种基于微内核架构的变量实时监视方法及系统。
背景技术
微内核架构有时也被成为插件架构模式(plug-in architecture pattern),见图1,其是一种通用的软件架构模式,与所使用的软件开发语言没有强制关联关系。微内核架构包含两部分组件:核心系统(core system)和插件模块(plug-in modules)。应用逻辑被分割为独立的插件模块和核心系统,提供了可扩展性、灵活性、功能隔离和自定义处理逻辑的特性。微内核架构的使用范围很广泛,比较著名的插件架构产品为Eclipse和Firefox。
软件开发调试过程中,打断点、查看局部变量、添加变量监视等是常用且必要的手段。对变量值变化的关注通常对理解程序的运行走向、关键节点的流程跳转等具有重要的意义。但是以上手段均只能在软件开发调试过程中,在IDE环境(集成开发环境,IntegratedDevelopment Environment)下才能具备操作条件,而对于在实际部署环境下处于运行状态的软件往往无能为力或者需要花费较大代价在部署场景下也安装开发、调试工具才可实现。另一个解决变量监视的通用方法即为通过在代码中添加运行状态下打印日志的方式输出变量的值到日志文件,而后对日志文件的信息进行分析,追踪具体变量值的变化。因为在编程中变量的使用场景是非常灵活的,很容易出现多个位置修改同一个变量的情景,那么意味着如果需要紧密监视变量的每一处修改,则必须紧跟修改位置增加日志打印,此重复劳动显得异常繁琐。微内核架构作为一种通用的软件架构方式,其解决的是软件框架的构建问题,并未对上述问题提出解决方案,因此也需要面对使用此类架构进行应用开发时不易在软件运行状态下进行变量监视的问题。
发明内容
本发明的目的就是针对现有技术的缺陷,提供一种基于微内核架构的变量实时监视方法,利用插件的隔离性和独立性特征来实现一种软件运行状态下的变量监视方法,以使应用此框架开发出的应用均具备在运行状态下便捷、友好的变量监视能力。
本发明提供了一种基于微内核架构的变量实时监视方法,包括以下步骤:
a.编写基本类型或者自定义类型的包装类;
b.编写包装类的构造函数和析构函数并重载操作符;并在构造函数和析构函数内对需要监视的变量进行标记;
c.构建本地数据库,用于存储应用程序运行时包装类的需要监视的变量的变化信息;
d.根据监视UI(用户界面)需求定制监视显示插件,支持对待监视变量的监视功能进行控制;
e.将待监视变量通过包装类进行定义替换;
f.应用程序运行状态下运行并启动监视显示插件,监视显示插件从本地数据库中获取指定监视变量的变化情况并进行显示。
上述技术方案中,步骤a中步骤a中所述包装类定义有一个变量类型的数据成员,以存储需要监视变量的真值;所述真值用于重载操作符时使用,将需要监视的变量的定义类型替换为其对应的包装类型,包装类对象被视为其包装的变量类型的变量而等价使用。所述包装类以C++类模板形式实现。
上述技术方案中,所述C++类模板包括以下两种类型:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉精立电子技术有限公司,未经武汉精立电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811564246.6/2.html,转载请声明来源钻瓜专利网。