<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck]]></title><description><![CDATA[<p>Hallo Zusammen!</p>
<p>Der Speicherverbrauch meines Programmes steigt immer weiter an, irgendwo habe ich Fehler, die ich nicht finde. Leider ist mein Quellcode zu groß, um ihn zu posten. Ich suche allgemeine Ideen, wo ich noch nach Speicherlecks suchen kann.</p>
<p>Ich benutzte DLLs, häufig die Klassen strings, vector, fstream. Weiterhin Subclassing von Steuerelementen, die Verarbeitung für WM_CTLCOLORSTATIC habe ich auch herausgenommen, brachte allerdings nichts. Ansonsten habe ich keine Ideen mehr, da ich nicht einmal new/alloc verwende.</p>
<p>Wenn ich in meinem Programm Datensätze durchblättere, stelle ich diese in den Steuerelemente dar, wobei die einzelnen Funktionen in den DLLs wiederzufinden sind. Dabei habe ich allerdings pro Klick ca. 200-300 KB mehr im Speicher.</p>
<p>Hat jemand Ideen, an was das liegen könnte?</p>
<p>Danke<br />
Steffen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/94547/speicherverbrauch-im-taskmanager-gt-speicherleck</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 11:14:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/94547.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 10 Dec 2004 08:06:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 08:06:29 GMT]]></title><description><![CDATA[<p>Hallo Zusammen!</p>
<p>Der Speicherverbrauch meines Programmes steigt immer weiter an, irgendwo habe ich Fehler, die ich nicht finde. Leider ist mein Quellcode zu groß, um ihn zu posten. Ich suche allgemeine Ideen, wo ich noch nach Speicherlecks suchen kann.</p>
<p>Ich benutzte DLLs, häufig die Klassen strings, vector, fstream. Weiterhin Subclassing von Steuerelementen, die Verarbeitung für WM_CTLCOLORSTATIC habe ich auch herausgenommen, brachte allerdings nichts. Ansonsten habe ich keine Ideen mehr, da ich nicht einmal new/alloc verwende.</p>
<p>Wenn ich in meinem Programm Datensätze durchblättere, stelle ich diese in den Steuerelemente dar, wobei die einzelnen Funktionen in den DLLs wiederzufinden sind. Dabei habe ich allerdings pro Klick ca. 200-300 KB mehr im Speicher.</p>
<p>Hat jemand Ideen, an was das liegen könnte?</p>
<p>Danke<br />
Steffen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670112</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Fri, 10 Dec 2004 08:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 12:34:55 GMT]]></title><description><![CDATA[<p>Ich weiss nicht ob du es gemacht hast, aber generell sollten Klassen die du erzeugst, Speicher reservierst etc. nach dem Gebrauch wieder freigegeben werden.</p>
<p>class - delete<br />
malloc - free<br />
HeapAlloc/HeapAllocateEx - HeapFree(Ex)<br />
VirtualAlloc(Ex) - VirtualFree(Ex)<br />
...</p>
<p>es gibt nichts besseres als die Vielfalt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Das solltest du auf jedenfall überprüfen, eventuell mit Strg+F nach den gegebenen Funktionen/Klassen/... suchen und überprüfen ob sie wirklich freigegeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670276</guid><dc:creator><![CDATA[tk_mad]]></dc:creator><pubDate>Fri, 10 Dec 2004 12:34:55 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 12:38:39 GMT]]></title><description><![CDATA[<p>Wenn das bei einem Klick passiert dann würd ich verfolgen was du auf einen Klick so alles machst und das erstmal testweise rausnehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670277</guid><dc:creator><![CDATA[removed]]></dc:creator><pubDate>Fri, 10 Dec 2004 12:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 13:50:52 GMT]]></title><description><![CDATA[<p>Klassen verwende ich keine, ich brauche nur &lt;vector&gt;-Variablen, um die Anwendungsdaten zu verarbeiten.</p>
<p>Ich habe auch schon versucht, einzelne Funktionen und Faktoren &quot;abzuschalten&quot; (siehe oben), aber es brachte leider auch nichts.</p>
<p>Vielleicht unterliege ich einem generellen Irrtum in der C++-Verarbeitung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Habt Ihr nicht noch ein paar Ideen, nach denen ich suchen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670328</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Fri, 10 Dec 2004 13:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 13:50:25 GMT]]></title><description><![CDATA[<p>Zeig uns den Quelltext, auch wenn er lang ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670333</guid><dc:creator><![CDATA[Ärgermacher]]></dc:creator><pubDate>Fri, 10 Dec 2004 13:50:25 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 13:53:42 GMT]]></title><description><![CDATA[<p>Das sind über 30 DLLs mit jeweils bis zu 3000 Zeilen. Ich denke, das wird ein wenig viel. Ist halt ein sehr umfangreiches Projekt.</p>
<p>Ich find halt keinen Lösungsansatz mehr...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670338</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Fri, 10 Dec 2004 13:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 14:25:45 GMT]]></title><description><![CDATA[<p>Lad dir das Programm BoundsChecker illegal runter (eMule) oder kauf es dir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670384</guid><dc:creator><![CDATA[tipp]]></dc:creator><pubDate>Fri, 10 Dec 2004 14:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 14:37:44 GMT]]></title><description><![CDATA[<p>Durch Zufall kam mir noch ein Einfall - und gleich dazu die Frage: Weiß jemand, ob ich meine vector-Arrays erst mit erase() zurücksetzen muß, oder reicht es, clear() zu verwenden? Könnte das ein Speicherleck sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670395</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Fri, 10 Dec 2004 14:37:44 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 14:38:39 GMT]]></title><description><![CDATA[<p>Was macht BoundsChecker?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670396</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Fri, 10 Dec 2004 14:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 14:41:23 GMT]]></title><description><![CDATA[<p><a href="http://www.compuware.com/products/devpartner/bounds.htm" rel="nofollow">http://www.compuware.com/products/devpartner/bounds.htm</a></p>
<p>Für C++ Fragen bist du hier im WinAPI Forum falsch. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/670403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670403</guid><dc:creator><![CDATA[tipp]]></dc:creator><pubDate>Fri, 10 Dec 2004 14:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 16:55:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6691">@gs_zk_sed</a>: versuch mal auto_ptr oder smart pointer einzusetzen! übernehmen dann automatisch das ein objekt am heap gelöscht wird!<br />
verwendest du oft pointer um ein objekt am heap anzulegen?<br />
cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670477</guid><dc:creator><![CDATA[cplusplus.]]></dc:creator><pubDate>Fri, 10 Dec 2004 16:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 16:56:43 GMT]]></title><description><![CDATA[<p>er hat doch geschrieben das er weder new noch mallow verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670479</guid><dc:creator><![CDATA[c.]]></dc:creator><pubDate>Fri, 10 Dec 2004 16:56:43 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Fri, 10 Dec 2004 18:12:25 GMT]]></title><description><![CDATA[<p>gs_zk_sed schrieb:</p>
<blockquote>
<p>Wenn ich in meinem Programm Datensätze durchblättere, stelle ich diese in den Steuerelemente dar, wobei die einzelnen Funktionen in den DLLs wiederzufinden sind. Dabei habe ich allerdings pro Klick ca. 200-300 KB mehr im Speicher.</p>
<p>Hat jemand Ideen, an was das liegen könnte?</p>
</blockquote>
<p>las dir mal im taskmanager dir gdi objekte anzeigen. vielleicht gibst du<br />
diesen speicher nicht mehr frei</p>
]]></description><link>https://www.c-plusplus.net/forum/post/670519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/670519</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Fri, 10 Dec 2004 18:12:25 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 08:37:36 GMT]]></title><description><![CDATA[<p>Erst einmal einen großen Dank an alle! Nach Tagen des Suchen habe ich ein &quot;Leck&quot; gefunden, weiß allerdings nicht, wie ich es beheben kann oder was ich falsch gemacht habe.</p>
<p>Ich erstelle DLL-Funktionen auf diese Weise:</p>
<pre><code class="language-cpp">__declspec(dllexport) string fFunction(string sString)
{
  return string(&quot;TestString&quot;);
}
</code></pre>
<p>In meinem Hauptprogramm rufe ich die DLL so auf:</p>
<pre><code class="language-cpp">HMODULE hMyLib_Fnc = LoadLibrary(&quot;function.dll&quot;)
typedef string (* DLLProc_Fnc)(string sString); 
DLLProc_Fnc MyDLL_Fnc = NULL;  

MyDLL_Fnc = (DLLProc_Fnc)GetProcAddress(hMyLib_Fnc, &quot;fFunction&quot;);
return MyDLL_Fnc(&quot;Test&quot;);
</code></pre>
<p>Die Funktion wird problemlos ausgeführt, die DLL wird beim Programmstart geladen und erst zum Ende durch Freelibary entladen, da ich eine Funktion mehrmals benutzen möchte, ohne die DLL ständig zu laden/entladen.</p>
<p>Je öfter ich diese Funktion benutze und je größer der Rückgabestring ist, desto schneller wächst mein Speicherbedarf. Hat irgendjemand eine Idee, was ich falsch mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/672071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672071</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Mon, 13 Dec 2004 08:37:36 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 10:01:48 GMT]]></title><description><![CDATA[<p>Sind alle DLLs und das Hauptprogramm gegen msvcrt.lib gelinkt (dynamic runtime)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/672109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672109</guid><dc:creator><![CDATA[Ringding]]></dc:creator><pubDate>Mon, 13 Dec 2004 10:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 10:42:51 GMT]]></title><description><![CDATA[<p>Nein, es sei denn DevCpp macht das automatisch. Ich habe das auch gerade ausprobiert, bringt leider auch nichts.<br />
Habe ich vielleicht die Deklarationen falsch gesetzt, wenn ich auf die DLL-Funktionen zugreife? Ich habe alles schon unzählige Male kontrolliert, doch ich komme einfach nicht mehr weiter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hat nicht irgend jemand einen Vorschlag für mich? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/672118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672118</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Mon, 13 Dec 2004 10:42:51 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 10:52:46 GMT]]></title><description><![CDATA[<p>dlls und strings passen nicht gut zusammen, gibts glaub ich einen faq eintrag zu.</p>
<p>//edit zwar nich ganz faq, aber hier die infos:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=67888&amp;highlight=dll+string" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=67888&amp;highlight=dll+string</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/672134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672134</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Mon, 13 Dec 2004 10:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 11:20:06 GMT]]></title><description><![CDATA[<p>Ich bekomme jedoch korrekte Strings aus der DLL zurückgeliefert, keine Compiler-Warnungen und Hauptprogramm&lt;-&gt;DLL sind unter den gleichen Voraussetzungen kompiliert worden.</p>
<p>Soll es jetzt wirklich daran liegen? Wenn ja, vielleicht gibt es ja eine Möglichkeit, String als Rückgabetyp und Übergabeparameter dennoch zu nutzen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/672152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672152</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Mon, 13 Dec 2004 11:20:06 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 15:45:01 GMT]]></title><description><![CDATA[<p>Hat nicht jemand einen brauchbaren Link für mich, wie ich Strings und Structs dennoch bei DLLs verwenden kann? (Funktionieren tut es ja, aber der Arbeitsspeicher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/672403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672403</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Mon, 13 Dec 2004 15:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Mon, 13 Dec 2004 17:18:03 GMT]]></title><description><![CDATA[<p>Der Schein kann aber auch trügen. Vielleicht weiß irgendwer, ob man eine dynamische runtime mit devcpp verwenden kann. devcpp basiert doch auf mingw, soweit ich weiß, und dieses wiederum hat die Möglichkeit, msvcrt.lib zu verwenden.</p>
<p>Need more info!</p>
<p>Alles andere wäre bestenfalls &quot;trickreich&quot; bis umständlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/672524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/672524</guid><dc:creator><![CDATA[Ringding]]></dc:creator><pubDate>Mon, 13 Dec 2004 17:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch im Taskmanager -&amp;gt; Speicherleck on Wed, 15 Dec 2004 09:50:28 GMT]]></title><description><![CDATA[<p>So, ich habe jetzt noch probiert, den String in einen Struct zu packen und per Referenz zu übergeben, wobei der Anstieg des nicht freigegebenen Speicherverbrauchs nur merklich ist. Bei Funktionen, in denen ich einen &lt;vector&gt; vom Typ struct übergebe (auch wenn in dem Struct nur ein integer-Wert verwendet wird), steigt auch der verwendete Speicher stetig an.</p>
<p>Gibt es denn keine Möglichkeit, das zu umgehen? Es muß doch möglich sein, strings, vectoren und structs aus DLL zurückgeben zu können bzw. per Referenz mit ihnen zu arbeiten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Ich habe auch schon probiert, die DLL statisch zu linken, allerdings brachte das auch nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673522</guid><dc:creator><![CDATA[gs_zk_sed]]></dc:creator><pubDate>Wed, 15 Dec 2004 09:50:28 GMT</pubDate></item></channel></rss>