[发明专利]基于微内核架构的变量实时监视方法及系统有效
申请号: | 201811564246.6 | 申请日: | 2018-12-20 |
公开(公告)号: | CN109634574B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 刘银森;郜鹏;肖威 | 申请(专利权)人: | 武汉精立电子技术有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F11/30 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 黄行军 |
地址: | 430070 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内核 架构 变量 实时 监视 方法 系统 | ||
1.一种基于微内核架构的变量实时监视方法,其特征在于包括以下步骤:
a.在应用程序的框架内编写基本类型或者自定义类型的包装类,所述包装类定义有一个Variable Type变量类型的数据成员,以存储需要监视变量的真值;
b.编写包装类的构造函数和析构函数并重载操作符;并在构造函数和析构函数内对需要监视的变量进行标记;
c.构建本地数据库,用于存储应用程序运行时包装类的需要监视的变量的变化信息;
d.根据监视UI需求定制监视显示插件,支持对待监视变量的监视功能进行控制;
e.将待监视变量通过包装类进行定义替换;
f.应用程序运行状态下运行并启动监视显示插件,监视显示插件从本地数据库中获取指定监视变量的变化情况并进行显示。
2.根据权利要求1所述的基于微内核架构的变量实时监视方法,其特征在于:步骤a中所述真值用于重载操作符时使用,将需要监视的变量的定义类型替换为其对应的包装类型,包装类对象被视为其包装的变量类型的变量而等价使用。
3.根据权利要求2所述的基于微内核架构的变量实时监视方法,其特征在于所述本地数据库中的监视变量的变化信息包括:
变量ID,即全局唯一ID,用于唯一标识变量;
变量名称,即变量在程序中的命名;
变量类型,通过C++RTTI技术,获取变量类型名称;
所在文件名,通过编译器内置指令__FILE__获取变量所在文件名;
所在文件行号,通过编译器内置指令__LINE__获取变量在源码文件中所在行号;
构造所在线程ID,标识当前变量是在哪个线程被构造;
是否动态监视,控制是否实时显示变量值的标志位;
是否有效,指变量当前是否已被析构,可用于控制实时监视时的显示效果;有效状态位调至为0,以标识当前监视变量生命周期已被析构;
变量构造次数,对于作用域较短或变量存在多次构造的情况下,用于标记其构造次数;
变量值,以线程ID,变量值元组的方式记录变量值;
线程ID记录,用于应对变量可能在多个线程被修改的情况。
4.根据权利要求3所述的基于微内核架构的变量实时监视方法,其特征在于监视变量的变化信息在包装类的构造函数中或者重载操作符时生成或提取,变量值的变化情况输出至本地数据库中。
5.根据权利要求1所述的基于微内核架构的变量实时监视方法,其特征在于在包装类对常用操作符进行重载,使包装类对象替换其对应类型原始变量进行数学计算、关系运算时,以包装类内存储的被包装原始类型的变量真实值作为计算对象。
6.根据权利要求1所述的基于微内核架构的变量实时监视方法,其特征在于监视显示插件从本地数据库获取变量监视变量的信息;监视显示插件根据不同的需求定制实时显示、历史查询、有效变量查询不同的查询策略;根据不同的查看习惯定制不同的显示方式,包括图表可视化方式实时显示、提示变量。
7.根据权利要求4所述的基于微内核架构的变量实时监视方法,其特征在于步骤f包括以下步骤:
经过包装类定义替换的指定的监视变量,在被构造的过程中会在本地数据库中记录此需要监视的变量信息,析构时将变量信息中变量有效状态置为无效,在变量被改变其值的运算中,会将此变量的真实值同步到本地数据库中变量值的位置。
8.根据权利要求2所述的基于微内核架构的变量实时监视方法,其特征在于所述本地数据库为SQLite本地数据库文件。
9.一种微内核架构的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1所述的基于微内核架构的变量实时监视方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉精立电子技术有限公司,未经武汉精立电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811564246.6/1.html,转载请声明来源钻瓜专利网。