Dumping objects ->{253771} normal block at 0x000001BAE43B8700, 112 bytes long.Data: <@ ; 0 ; > 40 8F 3B E4 BA 01 00 00 30 98 3B E4 BA 01 00 00{253770} normal block at 0x000001BAE43B9830, 112 bytes long.Data: < ; @ ; > 00 87 3B E4 BA 01 00 00 40 8F 3B E4 BA 01 00 00{253769} normal block at 0x000001BAE31B4590, 128 bytes long.Data: <@ ; @ ; > 40 8F 3B E4 BA 01 00 00 40 8F 3B E4 BA 01 00 00{253768} normal block at 0x000001BAE3218760, 16 bytes long.Data: < v > 00 76 80 08 F8 7F 00 00 00 00 00 00 00 00 00 00{253767} normal block at 0x000001BAE43B8F40, 112 bytes long.Data: <0 ; ; > 30 98 3B E4 BA 01 00 00 00 87 3B E4 BA 01 00 00{253766} normal block at 0x000001BAE32173B0, 16 bytes long.Data: < u > E8 75 80 08 F8 7F 00 00 00 00 00 00 00 00 00 00 : Object dump complete.
CrtDumpMemoryLeaks() 报告所有未被销毁的对象(也是全局对象)。因此,他们能够通过仅包含 openvino /openvino.hpp (无需在 main 中执行任何执行)或使用 DEFINE... 来重现该问题。来自 gflags 库(示例使用)的宏,完全没有OpenVINO™。根据上面的分析,这样的报告不能被视为真正的产品内存泄漏。
使用消毒剂或valgrind工具作为更可靠的工具来检查内存泄漏。
有关如何跟踪内存泄漏的更多详细信息,请参阅 优化内存使用情况