_CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG));
以下来自msdn
_crtDbgFlag 标志包含下列位域:
| 位域 | 默认值 | 说明 |
|---|---|---|
| _CRTDBG_ALLOC_MEM_DF | On | 打开调试分配。当该位为 off 时,分配仍链接在一起,但它们的块类型为 _IGNORE_BLOCK。 |
| _CRTDBG_DELAY_FREE_MEM_DF | Off | 防止实际释放内存,与模拟内存不足情况相同。当该位为 on 时,已释放块保留在调试堆的链接列表中,但标记为 _FREE_BLOCK,并用特殊字节值填充。 |
| _CRTDBG_CHECK_ALWAYS_DF | Off | 导致每次分配和释放时均调用 _CrtCheckMemory。这将减慢执行,但可快速捕捉错误。 |
| _CRTDBG_CHECK_CRT_DF | Off | 导致将标记为 _CRT_BLOCK 类型的块包括在泄漏检测和状态差异操作中。当该位为 off 时,在这些操作期间将忽略由运行时库内部使用的内存。 |
| _CRTDBG_LEAK_CHECK_DF | Off | 导致在程序退出时通过调用 _CrtDumpMemoryLeaks 来执行泄漏检查。如果应用程序未能释放其所分配的所有内存,将生成错误报告。 |

没有评论:
发表评论