[发明专利]基于QT开发通用航空飞行服务软件内存异常检测定位方法有效
申请号: | 201911200037.8 | 申请日: | 2019-11-29 |
公开(公告)号: | CN111078540B | 公开(公告)日: | 2023-03-07 |
发明(设计)人: | 索宇;吴承宸;李建秋;王世民 | 申请(专利权)人: | 四川九洲空管科技有限责任公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 刘世权 |
地址: | 621000 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 qt 开发 通用 航空 飞行 服务 软件 内存 异常 检测 定位 方法 | ||
1.基于QT开发通用航空飞行服务软件内存异常检测定位方法,其特征在于:设置一个检测程序,检测程序用于QT半自动内存管理机制和C++栈堆内存管理机制冲突造成内存异常检测;
检测程序以通航飞行服务软件各软件工程目录为参数,运行检测程序后,将检测结果输出;
检测程序的具体实现过程如下:
步骤一:通过Python中os模块获取通用航空飞行服务软件源代码目录下所有CPP源文件和头文件,将文件名和文件路径存入Python字典hFileDirDict和cppFileDirDict中;其中,hFileDirDict的键是头文件的文件名,值是对应的头文件的路径,cppFileDirDict的键是CPP源文件的文件名,值是对应的源文件的路径;
步骤二:读取字典hFileDirDict中的文件,打开对应路径的头文件,逐行读取代码信息,解析对象声明语句,获取QT Object控件对应的声明信息,并存入Python字典objectNumDict;解析头文件的文件名,通过cppFileDirDict获取该文件对应的CPP源文件的路径,打开对应路径的CPP源文件,逐行读取代码信息,解析源文件对象初始化语句,获取QT Object控件对应的创建信息,并存入Python字典objectNumDict;其中,objectNumDict的键是QT QObject控件的对象名称,值是声明或创建语句的行数;
步骤三:读取字典cppFileDirDict中的文件路径,打开对应路径的CPP源文件的路径,逐行读取代码信息,解析设置父子关系的关键语句,获取QT Object控件对应的父子关系,并存入Python字典childParentDict,其中childParentDict的键是QT Object控件的子对象名,值是QT Object控件的父对象名;
步骤四:遍历childParentDict的键值,通过objectNumDict获取子对象和父对象的行数,进行判定,当父对象行数大于子对象行数,那么记录该子对象名,父对象名和设置父子对象关键语句的行数,输出至控制台。
2.根据权利要求1所述的基于QT开发通用航空飞行服务软件内存异常检测定位方法,其特征在于:检测程序采用Python开发。
3.根据权利要求1或2所述的基于QT开发通用航空飞行服务软件内存异常检测定位方法,其特征在于:检测程序运行后将检测结果输出至TXT文档。
4.根据权利要求1所述的基于QT开发通用航空飞行服务软件内存异常检测定位方法,其特征在于:所述步骤一具体包括:
步骤11:获取工程项目路径设置为dir;
步骤12:使用Python的os模块获取路径下所有文件;
步骤13:判断当前路径的文件是否遍历;否,结束;是,进入步骤14;
步骤14:读取文件名fileName,获取文件完整路径fullDir;对文件名fileName通过指定分隔符”.”使用spilt()方法进行切片,并返回分割后的字符串列表fileNameArr;
步骤15:判断字符串列表fileNameArr的长度是否大于1;否,将fullDir赋值给dir并返回执行步骤12;是,进入步骤16;
步骤16:读取fileNameArr[1]并作为文件类型fileType;
步骤17:判断fileType是否为”h”;是,将文件名fileName和文件路径fullPath存入hFileDirDict中,并返回执行步骤13;否,进入步骤17;
步骤18:判断fileType是否为”cpp”;是,将文件名fileName和文件路径fullPath存入cppFileDirDict中,并返回执行步骤13;否,返回执行步骤13。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九洲空管科技有限责任公司,未经四川九洲空管科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911200037.8/1.html,转载请声明来源钻瓜专利网。