Debug Heap aktiv und sehr langsam trotz Release-Mode-DLL(mit /MT)



  • VS2010 C/C++

    ich habe eine DLL die intern relativ viele/kleine Heap Allokationen durchführt (ich habe keinen Source-Code Einfluss auf diese)
    diese wird im Release-Mode mit statischer Runtime gebaut (/MT)

    wenn ich jetzt im VStudio Debugger eine C/C++ Applikation debugge/laufen lasse welche diesen Release-DLL verwendet verlangsamt der Debug-Heap die arbeit sehr unangenehm

    mit _NO_DEBUG_HEAP=1 kann ich natürlich den Debug-Heap abschalten - dann verliert aber auch meine eigene Applikation die zusätzliche Absicherung in der IDE

    die Debug und Release-Version meiner Applikation läuft mit _NO_DEBUG_HEAP=1 oder ausserhalb der IDE sehr schnell (da eben kein Debug-Heap)

    ich dachte da die DLL als Release mit /MT gebaut ist würde das Debuggen meiner Applikation keinen Einfluss auf den DLL-Heap haben - scheinbar ist das aber nicht so - gibt es da irgendwelche Lösungen?



  • Ja, ist so. Starte deine Anwendung außerhalb von Visual Studio und attach dich danach, wenn du Debuggen willst.



  • Ja, ist so. Starte deine Anwendung außerhalb von Visual Studio und attach dich danach, wenn du Debuggen willst.

    ist ja wunderbar wenn man die DLL dann so an Kunden verteilt die dann auch Ihre Applikationen debuggen wollen

    d.h. es sind schon 2 Heaps (einer von der DLL und einer von der EXE) aber beide reagieren eben auf das Vorhandensein eines Debuggers

    schöner Müll


Log in to reply