Speicherleckanalyse



  • Gibt es für das Visual Studio für C++ eine Speicherleckanalyse ähnlich dem Valgrind unter Linux? Visual Studio gibt zwar Speicherlecks bekannt, aber besser wäre es natürlich, wenn man erfahren würde, wo sie entstehen und warum.

    Gruß

    Sascha



  • In vom Assistenten erstellten Dateien findest du

    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    

    wobei DEBUG_NEW der für dich interessante Teil ist.
    Dann wird dir auch gesagt, wo die Speicherlecks entstanden sind - vorausgesetzt, das Makro ist in der Datei bekannt. 🙂



  • Der Ansatz von estartu hilft meistens nicht viel, da er nur die Zeile von "new" anzeigt... wenn das aber in einem CString drin ist, ist das nicht sehr hilfreich.
    Das einzige was sinnvoll ist, ist den Callstack der allokation anzuzeigen. Hierzu siehe z.B. mein freies Tool auf CP:
    http://www.codeproject.com/tools/leakfinder.asp


Log in to reply