本文解释了 TestStand 系统中内存不足错误的原因,并概述了可用于识别和解决内存增长问题的调试过程。创建长时间运行的 TestStand 序列时,您需要确保所创建的 TestStand sequence file 和 code module 不会导致内存随时间显着增长。在开发过程中,仔细管理测试序列和代码模块中的内存以避免内存不足错误是非常重要的。
内存增长并不总是表明测试系统存在问题。例如,如果代码模块 (code module) 从硬件获取测量数据并将数据存储在数组中,则代码模块的内存使用量将随着数据的存储而增加,这是预期的现象。然而,如果代码模块或其他测试系统组件分配的内存在不再需要时没有被释放,那么内存使用量将随着测试系统的执行而不断增加。一旦测试系统使用了所有可用内存,这最终可能会导致内存不足导致出现错误或崩溃。这种在多次测试序列迭代中不受控制的内存增长通常称为内存泄漏。
发生内存不足错误的原因有多种:
由于需要调查的代码量很大,因此很难排查大型测试系统中的内存增长问题。另外,若测试系统执行的时间不足够长,内存增长可能不会出现错误,例如导致测试系统崩溃或其他不稳定。由于这些原因,解决内存增长问题是一个系统化的过程,必须分析内存使用数据以了解正在发生的内存增长类型。首先,将测试代码缩小到重现内存增长的简化版本,并检查简化的代码以解决内存增长问题。下面的分步指南描述了此过程。本系列中的其他文档在故障排除过程中的相关点提供了链接。他们将提供有关应采取的故障排除步骤的详细信息,以及如何解释过程中每个阶段收集的结果的指导。
在我们的论坛中与其他用户协作
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
Helpful
Not Helpful