<?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[Memory Leak - Toolsuche]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem: ich betreue ein in C++ geschriebenes Tool, das schon relativ umfangreich ist. Es wird mittels g++ compiliert, sowohl unter Windows als auch unter Linux genutzt. Bei der Ausführung stelle ich fest, dass etwa pro 10MB Eingabedaten etwa 200KB Memory verloren gehen also nicht wieder freigegeben werden. Das Ganze habe ich per sysinternals process explorer beobachtet.<br />
Also z.B.</p>
<ol>
<li>10MB Speicher benutzt,</li>
<li>Daten geladen und verarbeitet (Peak 20MB Speicher),</li>
<li>10,2MB Speicher benutzt.</li>
<li>Daten geladen und verarbeitet (Peak 20,xMB Speicher),</li>
<li>10,4MB Speicher benutzt.</li>
</ol>
<p>Um das Leak aufzuspüren habe ich das Programm mit Valgrind debuggt (der oben dargestellte Stand ist bereits das Ergebnis, zuvor war es noch schlimmer <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="😞"
    /> ), und es hat nun lt. Valgrind kein Speicherleck mehr.</p>
<p>Also um die 0,2 MB zu finden, müsste ich ein Tool haben, um zu einem Zeitpunkt x alle Variablen listen zu können, die Speicher auf dem Heap referenzieren. Meine Suche war aber bislang erfolglos. Gibt es sowas (am Besten open Source aber zumindest kostenfrei)?<br />
Oder ist evtl. die Ausgabe des ProcessExplorer in diesem Fall nicht aussagekräftig?</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/260707/memory-leak-toolsuche</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 23:44:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/260707.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Feb 2010 17:27:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Memory Leak - Toolsuche on Mon, 08 Feb 2010 17:27:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Problem: ich betreue ein in C++ geschriebenes Tool, das schon relativ umfangreich ist. Es wird mittels g++ compiliert, sowohl unter Windows als auch unter Linux genutzt. Bei der Ausführung stelle ich fest, dass etwa pro 10MB Eingabedaten etwa 200KB Memory verloren gehen also nicht wieder freigegeben werden. Das Ganze habe ich per sysinternals process explorer beobachtet.<br />
Also z.B.</p>
<ol>
<li>10MB Speicher benutzt,</li>
<li>Daten geladen und verarbeitet (Peak 20MB Speicher),</li>
<li>10,2MB Speicher benutzt.</li>
<li>Daten geladen und verarbeitet (Peak 20,xMB Speicher),</li>
<li>10,4MB Speicher benutzt.</li>
</ol>
<p>Um das Leak aufzuspüren habe ich das Programm mit Valgrind debuggt (der oben dargestellte Stand ist bereits das Ergebnis, zuvor war es noch schlimmer <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="😞"
    /> ), und es hat nun lt. Valgrind kein Speicherleck mehr.</p>
<p>Also um die 0,2 MB zu finden, müsste ich ein Tool haben, um zu einem Zeitpunkt x alle Variablen listen zu können, die Speicher auf dem Heap referenzieren. Meine Suche war aber bislang erfolglos. Gibt es sowas (am Besten open Source aber zumindest kostenfrei)?<br />
Oder ist evtl. die Ausgabe des ProcessExplorer in diesem Fall nicht aussagekräftig?</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1852582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1852582</guid><dc:creator><![CDATA[Speicherloch]]></dc:creator><pubDate>Mon, 08 Feb 2010 17:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak - Toolsuche on Mon, 08 Feb 2010 17:38:12 GMT]]></title><description><![CDATA[<p>Der Speicherverbrauch eines Programms hat (fast) nichts mit Speicherlecks zu tun. Wenn valgrind sagt, dass alles in Ordnung ist, dann ist das zu 99% auch so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1852589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1852589</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 08 Feb 2010 17:38:12 GMT</pubDate></item><item><title><![CDATA[Reply to Memory Leak - Toolsuche on Mon, 08 Feb 2010 17:45:29 GMT]]></title><description><![CDATA[<p>Da wird das OS seine Finger im Spiel haben und z.B noch ein paar Sachen Cachen um vlt. das Programm erneut schneller starten zu können, als beim ersten mal. Das merkt man dann vor allem bei grösseren Programmen, wie z.B Visual Studio. Das erste mal hat es ein Weilchen, aber wenn man ihn das zweite mal öffnet ist die IDE beinahe so schnell offen, wie der Standardtext Editor von Windows. Das hat natürlich nichts mit Magie zu tun, sondern ist sehr wahrscheinlich eine Optimierung von Seiten des Betriebssystemes.</p>
<p>Ich stimme SeppJ zu. Wenn der Detector kein Leak findet, dann hast du auch keins.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1852595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1852595</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 08 Feb 2010 17:45:29 GMT</pubDate></item></channel></rss>