【发布时间】:2015-07-29 21:17:07
【问题描述】:
我正在为正在优化的 (Win7) C++ 例程编写回归测试,该例程以前释放并重新分配了许多巨大的缓冲区:内存流失。我想证明,在测试期间,程序不会分配任何大内存区域(比如 16M 或更大),而是有效地重新使用在初始化时分配的内存。归根结底,如果调用 VirtualAlloc 以获取一些大区域(例如 16M),则测试应该失败。
有没有一种优雅的方法来统计对 Windows VirtualAlloc 的调用的统计信息?这将成为永久自动回归测试套件的一部分,因此使用外部工具或修改下游代码是不可行的。
检查提交的总内存不太合适,因为我想断言例程不再搅动(释放和重新分配缓冲区。)
【问题讨论】:
-
写一个包装函数?
标签: c++ windows unit-testing heap-profiling