zoukankan      html  css  js  c++  java
  • C++ 简单内存泄漏检测方法

    遇到个bug,MFC程序异常退出,debug模式下输出

    Detected memory leaks!
    Dumping objects ->
    {366566} normal block at 0x0000017D52F19440, 16 bytes long.
     Data: <  LO}           > D0 A5 4C 4F 7D 01 00 00 00 00 00 00 00 00 00 00 
    {366565} normal block at 0x0000017D4F4CA5D0, 960 bytes long.
    

     网上查到的方法:

    1. 包含

    #define _CRTDBG_MAP_ALLOC
    #include <crtdbg.h>
    #include <stdlib.h>

    2. 在程序开始启动的地方(足够前的地方,只要在泄漏的内存分配的前面)使用代码:

    _CrtSetBreakAlloc(366566); //366566为上面内存泄漏的块号.

    3. 点击break. 一直点击"调试" –> "退出" ,快捷键为:"Shift + F11" .查看调用堆栈。

    终于找到了罪魁祸首:

    竟然在glsl里面用了auto !因为是MFC,看不到控制台的输出,浪费了一个小时

     

  • 相关阅读:
    杭电2042
    杭电2041
    杭电2040
    杭电2046
    SPOJ
    SPOJ
    SPOJ
    HDU
    HDU
    HDU
  • 原文地址:https://www.cnblogs.com/redips-l/p/9052111.html
Copyright © 2011-2022 走看看