[发明专利]一种系统级实时获取被测程序内部运行数据的方法在审
申请号: | 201811448331.6 | 申请日: | 2018-11-30 |
公开(公告)号: | CN109634851A | 公开(公告)日: | 2019-04-16 |
发明(设计)人: | 赵明 | 申请(专利权)人: | 苏州洞察云信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 连平 |
地址: | 215156 江苏省苏州市吴中区木*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件运行过程 运行数据 软件运行 实时获取 被测程序 系统级 捕获 系统级测试 参数输入 调用信息 监控软件 逻辑状态 内存使用 时序数据 实时捕获 实时状态 输出信息 数据支持 运行状况 内存 泄漏 测试 输出 监控 清晰 转化 发现 | ||
1.一种系统级实时获取被测程序内部运行数据的方法,其特征在于,包括:
软件运行过程中,获取软件运行内部执行路径,将运行数据转化为波形的方式,获取用例的运行数据以及监控软件的运行状况;
软件运行过程中,获取函数的输入输出情况;
软件运行过程中,捕获用例内存使用情况;
软件运行过程中,捕获程序最后运行50块时序数据信息;
软件运行过程中,实时捕获用例函数的调用信息。
2.根据权利要求1所述的系统级实时获取被测程序内部运行数据的方法,其特征在于:软件运行过程中,获取软件运行内部执行路径,将运行数据转化为波形的方式,获取用例的运行数据以及监控软件的运行状况包括软件运行逻辑数据接收装置模块、软件运行状态分析装置模块以及软件运行状况显示装置模块;
所述软件运行逻辑数据接收装置模块包括在待测试程序代码的程序结构中植入探针的插桩模块;测试用例运行控制模块;分析并记录所述探针的运行信息的信息记录模块;
所述测试用例运行控制模块包括点击开始按钮,测试用例开始运行采集数据,点击暂停按钮,采集数据暂时停止,点击停止按钮,表示用例执行完毕,数据采集结束;
信息统计模块,接收所述信息记录模块记录的探针运行信息,根据所述探针运行信息统计单位时间内所述待测试程序代码中代码单元运行次数;
所述软件运行状态分析装置模块包括波形生成模块,根据不同类型的代码单元运行次数分别生成:代码块级波形、条件级波形、函数级波形中的一种或多种。
3.根据权利要求1所述的系统级实时获取被测程序内部运行数据的方法,其特征在于:软件运行过程中,获取函数的输入输出情况,分析被测函数信息模块与获取运行过程中函数参数具体值模块;
分析被测函数信息模块包括通过编译底层技术,获取函数参数的信息,包括函数名,参数类型等信息,对于复杂类型(例如结构体),进行逐级分析,直至分析到基本数据类型;
获取运行过程中函数参数具体值模块包括程序整体运行时,获取被测程序函数的具体参数值。
4.根据权利要求1所述的系统级实时获取被测程序内部运行数据的方法,其特征在于:软件运行过程中,捕获用例内存使用情况,通过编译底层技术,获取内存申请与释放函数与操作符,并记录函数与操作符信息模块与分析内存使用情况模块;
获取内存申请与释放函数与操作符,并记录函数与操作符信息模块包括对内存分配函数malloc与释放函数free以及new与delete操作符进行绑定,在系统内存函数后面,进行针对性的插装,插装函数取得原始分配函数的信息;
分析内存使用情况模块包括软件动态运行过程中,捕获内存函数与操作符的信息,计算相关信息,检测和定位内存泄漏。
5.根据权利要求1所述的系统级实时获取被测程序内部运行数据的方法,其特征在于:捕获程序最后运行50块时序数据信息包括对系统发生异常情况(例如系统崩溃),记录最后50个代码块、最后50个条件以及最后50个判定执行。
6.根据权利要求1所述的系统级实时获取被测程序内部运行数据的方法,其特征在于:实时捕获最后50个函数的调用信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州洞察云信息技术有限公司,未经苏州洞察云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811448331.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于自动测试系统中快速搭建测试软件的方法
- 下一篇:程序调试方法及装置