<?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[Valgrind-Ausgabe interpretieren]]></title><description><![CDATA[<p>Servus,</p>
<p>ich nutze valgrind erst zum zweiten Mal und wollte bevor ich die falschen Schlüsse ziehe einfach mal hier die Ausgabe des Programms posten und um Rückmeldung bitten, aufgerufen habe ich das Programm mit memcheck und es lief denke ich rund 2 bis 3 Stunden, später wird es sehr viel länger laufen und nun wollte ich aus dieser kurzen Laufphase abschätzen, ob ich mit dem Arbeitsspeicher (4 GB) Probleme bekommen werde. Danke vorab.</p>
<p>Was passiert eigentlich, wenn mir der Arbeitsspeicher ausgeht und werde ich davon explizit etwas mitbekommen, wenn dem so ist?</p>
<p>==1847==<br />
==1847== HEAP SUMMARY:<br />
==1847== in use at exit: 224,142 bytes in 590 blocks<br />
==1847== total heap usage: 4,063,370 allocs, 4,062,780 frees, 84,119,457 bytes allocated<br />
==1847==<br />
==1847== 360 bytes in 45 blocks are definitely lost in loss record 1 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D70: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:688)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 2 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056CFE: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:671)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 3 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D33: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:680)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 4 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D82: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:689)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 5 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D94: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:690)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 6 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056DA6: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:691)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 7 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056DB8: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:692)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 825 bytes in 25 blocks are definitely lost in loss record 11 of 17<br />
==1847== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==1847== by 0x807D6A7: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==1847== by 0x807D98D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==1847== by 0x8080A35: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==1847== by 0x80735F5: main (msa.h:384)<br />
==1847==<br />
==1847== 2,637 bytes in 25 blocks are definitely lost in loss record 12 of 17<br />
==1847== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==1847== by 0x807D6A7: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==1847== by 0x807D98D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==1847== by 0x8080A12: Msa::readMsaFromFile(std::string) (msa.h:415)<br />
==1847== by 0x80735F5: main (msa.h:384)<br />
==1847==<br />
==1847== 34,400 bytes in 43 blocks are definitely lost in loss record 13 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056C18: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:659)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 35,200 bytes in 44 blocks are definitely lost in loss record 14 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056C2B: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:660)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 36,000 bytes in 45 blocks are definitely lost in loss record 15 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D21: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:674)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 36,800 (36,000 direct, 800 indirect) bytes in 45 blocks are definitely lost in loss record 16 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056DCC: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:693)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 72,000 bytes in 45 blocks are definitely lost in loss record 17 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D5E: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:686)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== LEAK SUMMARY:<br />
==1847== definitely lost: 221,742 bytes in 587 blocks<br />
==1847== indirectly lost: 800 bytes in 1 blocks<br />
==1847== possibly lost: 0 bytes in 0 blocks<br />
==1847== still reachable: 1,600 bytes in 2 blocks<br />
==1847== suppressed: 0 bytes in 0 blocks<br />
==1847== Reachable blocks (those to which a pointer was found) are not shown.<br />
==1847== To see them, rerun with: --leak-check=full --show-reachable=yes<br />
==1847==<br />
==1847== For counts of detected and suppressed errors, rerun with: -v<br />
==1847== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 22 from 7)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/291202/valgrind-ausgabe-interpretieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 21:25:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/291202.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Aug 2011 14:42:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 14:42:04 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich nutze valgrind erst zum zweiten Mal und wollte bevor ich die falschen Schlüsse ziehe einfach mal hier die Ausgabe des Programms posten und um Rückmeldung bitten, aufgerufen habe ich das Programm mit memcheck und es lief denke ich rund 2 bis 3 Stunden, später wird es sehr viel länger laufen und nun wollte ich aus dieser kurzen Laufphase abschätzen, ob ich mit dem Arbeitsspeicher (4 GB) Probleme bekommen werde. Danke vorab.</p>
<p>Was passiert eigentlich, wenn mir der Arbeitsspeicher ausgeht und werde ich davon explizit etwas mitbekommen, wenn dem so ist?</p>
<p>==1847==<br />
==1847== HEAP SUMMARY:<br />
==1847== in use at exit: 224,142 bytes in 590 blocks<br />
==1847== total heap usage: 4,063,370 allocs, 4,062,780 frees, 84,119,457 bytes allocated<br />
==1847==<br />
==1847== 360 bytes in 45 blocks are definitely lost in loss record 1 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D70: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:688)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 2 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056CFE: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:671)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 3 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D33: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:680)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 4 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D82: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:689)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 5 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D94: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:690)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 6 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056DA6: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:691)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 720 bytes in 45 blocks are definitely lost in loss record 7 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056DB8: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:692)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 825 bytes in 25 blocks are definitely lost in loss record 11 of 17<br />
==1847== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==1847== by 0x807D6A7: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==1847== by 0x807D98D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==1847== by 0x8080A35: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==1847== by 0x80735F5: main (msa.h:384)<br />
==1847==<br />
==1847== 2,637 bytes in 25 blocks are definitely lost in loss record 12 of 17<br />
==1847== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==1847== by 0x807D6A7: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==1847== by 0x807D98D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==1847== by 0x8080A12: Msa::readMsaFromFile(std::string) (msa.h:415)<br />
==1847== by 0x80735F5: main (msa.h:384)<br />
==1847==<br />
==1847== 34,400 bytes in 43 blocks are definitely lost in loss record 13 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056C18: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:659)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 35,200 bytes in 44 blocks are definitely lost in loss record 14 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056C2B: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:660)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 36,000 bytes in 45 blocks are definitely lost in loss record 15 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D21: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:674)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 36,800 (36,000 direct, 800 indirect) bytes in 45 blocks are definitely lost in loss record 16 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056DCC: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:693)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== 72,000 bytes in 45 blocks are definitely lost in loss record 17 of 17<br />
==1847== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==1847== by 0x8056D5E: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:686)<br />
==1847== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==1847== by 0x8074BBA: main (h2r.h:115)<br />
==1847==<br />
==1847== LEAK SUMMARY:<br />
==1847== definitely lost: 221,742 bytes in 587 blocks<br />
==1847== indirectly lost: 800 bytes in 1 blocks<br />
==1847== possibly lost: 0 bytes in 0 blocks<br />
==1847== still reachable: 1,600 bytes in 2 blocks<br />
==1847== suppressed: 0 bytes in 0 blocks<br />
==1847== Reachable blocks (those to which a pointer was found) are not shown.<br />
==1847== To see them, rerun with: --leak-check=full --show-reachable=yes<br />
==1847==<br />
==1847== For counts of detected and suppressed errors, rerun with: -v<br />
==1847== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 22 from 7)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105409</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 14:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 14:52:13 GMT]]></title><description><![CDATA[<p>Was passieren hatte könnte sollte ist doch vollkommen egal. Dein Programm enthält schwere Fehler. Willst du bloß hoffen, dass es irgendwie hält oder willst du es richtig machen? Eigentlich solltest du jeden valgrind-Fehler behandeln wie einen Compilerfehler. Das Programm darf hinterher keine Fehler mehr haben.</p>
<p>Und für noch mehr mögliche Fehler, lass mal so laufen:</p>
<pre><code>valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./dein_programm
</code></pre>
<p>Und falls du uninitialisierte Variablen bekommen solltest, zusätzlich mit --track-origins=yes (das wird dann aber sehr langsam, daher nur im Notfall).</p>
<p>Was verstehst du an der Ausgabe denn nicht? Die Ausgabe sagt dir doch genau in welchem Kontext die Speicherreservierung erfolgt ist, die später nicht freigegeben wurde.</p>
<p>Und man braucht valgrind nicht stundenlang laufen zu lassen. Mach einen Testlauf auf einem verkleinerten Datensatz. Hauptsache jede relevante Stelle im Programm kommt mal dran. Es ist doch egal wie oft und mit welcher Größe du die Fehler bekommst, Hauptsache du findest sie.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105411</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 12 Aug 2011 14:52:13 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 15:21:45 GMT]]></title><description><![CDATA[<p>Danke, ich lasse das Programm direkt mal so laufen. Naja, als ich zum ersten Mal valgrind nutzte, kam schon raus, dass der Einsatz der Seqan-Bibliothek zu geringen Speicherlecks führt ... die Bibliothek soll ich aber einsetzen! Und in jedem Fall müssen die Ergebnisse passen, daher mein Antrieb, dass ich einerseits einen Verdacht habe, dass da nichts anbrennen wird, wenn das Programm lange läuft und wenn doch etwas anbrennt, dass ich es mitbekomme, wenn der Speicher knapp wird - wie mache ich das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105429</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 15:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 15:32:02 GMT]]></title><description><![CDATA[<p>Darf ich erst einmal den bescheidenen Verdacht äußern, dass die Bibliothek vielleicht nicht selber die Fehler hat, sondern diese durch falsche Benutzung zustande kommen? Falls die Bibliothek selber solche Fehler hätte, sollte man das sofort den Entwicklern melden, das sind schwere Fehler! Aber das hätte bestimmt schon jemand getan, sofern du nicht der einzige Nutzer bist. Speicherlecks mit valgrind suchen ist eine Standardphase in der Entwicklung und das wäre gewiss schon aufgefallen.</p>
<p>Und, nichts für ungut, ich habe jetzt schon ein paar Programme von dir gesehen. Die sind...nicht so sauber. Speicherlecks verwundern mich da gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105430</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 12 Aug 2011 15:32:02 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 15:48:06 GMT]]></title><description><![CDATA[<p>Naja, ich bin gewiss noch nicht gut, aber ich denke schon, dass ich stetig lerne, wenn ich hier viel poste und mir Rückmeldung hole und derweil versuche, dass mein Code besser wird. So jetzt schaue ich da mal Schritt für Schritt, was ich da bessern kann.</p>
<p>==9817==<br />
==9817== FILE DESCRIPTORS: 3 open at exit.<br />
==9817== Open file descriptor 2: /dev/pts/3<br />
==9817== &lt;inherited from parent&gt;<br />
==9817==<br />
==9817== Open file descriptor 1: /dev/pts/3<br />
==9817== &lt;inherited from parent&gt;<br />
==9817==<br />
==9817== Open file descriptor 0: /dev/pts/3<br />
==9817== &lt;inherited from parent&gt;<br />
==9817==<br />
==9817==<br />
==9817== HEAP SUMMARY:<br />
==9817== in use at exit: 54,650 bytes in 202 blocks<br />
==9817== total heap usage: 389,633 allocs, 389,431 frees, 10,013,298 bytes allocated<br />
==9817==<br />
==9817== 33 bytes in 1 blocks are definitely lost in loss record 1 of 18<br />
==9817== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==9817== by 0x807D9FA: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (basic_allocator_interface.h:199)<br />
==9817== by 0x8080A35: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==9817== by 0x80735F5: main (msa.h:384)<br />
==9817==<br />
==9817== 80 bytes in 10 blocks are definitely lost in loss record 2 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056D70: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:688)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 100 bytes in 1 blocks are definitely lost in loss record 3 of 18<br />
==9817== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==9817== by 0x807D9FA: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (basic_allocator_interface.h:199)<br />
==9817== by 0x8080A12: Msa::readMsaFromFile(std::string) (msa.h:415)<br />
==9817== by 0x80735F5: main (msa.h:384)<br />
==9817==<br />
==9817== 160 bytes in 10 blocks are definitely lost in loss record 4 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056CFE: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:671)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 160 bytes in 10 blocks are definitely lost in loss record 5 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056D33: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:680)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 160 bytes in 10 blocks are definitely lost in loss record 6 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056D82: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:689)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 160 bytes in 10 blocks are definitely lost in loss record 7 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056D94: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:690)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 160 bytes in 10 blocks are definitely lost in loss record 8 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056DA6: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:691)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 160 bytes in 10 blocks are definitely lost in loss record 9 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056DB8: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:692)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 800 bytes in 1 blocks are still reachable in loss record 10 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056C18: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:659)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 800 bytes in 1 blocks are still reachable in loss record 11 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056C2B: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:660)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 1,320 bytes in 40 blocks are definitely lost in loss record 12 of 18<br />
==9817== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==9817== by 0x807D6A7: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==9817== by 0x807D98D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==9817== by 0x8080A35: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==9817== by 0x80735F5: main (msa.h:384)<br />
==9817==<br />
==9817== 4,157 bytes in 40 blocks are definitely lost in loss record 13 of 18<br />
==9817== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==9817== by 0x807D6A7: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==9817== by 0x807D98D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==9817== by 0x8080A12: Msa::readMsaFromFile(std::string) (msa.h:415)<br />
==9817== by 0x80735F5: main (msa.h:384)<br />
==9817==<br />
==9817== 7,200 bytes in 9 blocks are definitely lost in loss record 14 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056C18: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:659)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 7,200 bytes in 9 blocks are definitely lost in loss record 15 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056C2B: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:660)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 8,000 bytes in 10 blocks are definitely lost in loss record 16 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056D21: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:674)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 8,000 bytes in 10 blocks are definitely lost in loss record 17 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056DCC: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:693)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== 16,000 bytes in 10 blocks are definitely lost in loss record 18 of 18<br />
==9817== at 0x402532E: operator new[](unsigned int) (vg_replace_malloc.c:299)<br />
==9817== by 0x8056D5E: global::computeCurveFit(global::pairDependancyItem, global::pairDependancyItem, global::Dice&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, int, double, double, std::string, double, double, double, double, double, double) (global.h:686)<br />
==9817== by 0x8084803: H2r::computeDependancies() (h2r.h:245)<br />
==9817== by 0x8074BBA: main (h2r.h:115)<br />
==9817==<br />
==9817== LEAK SUMMARY:<br />
==9817== definitely lost: 53,050 bytes in 200 blocks<br />
==9817== indirectly lost: 0 bytes in 0 blocks<br />
==9817== possibly lost: 0 bytes in 0 blocks<br />
==9817== still reachable: 1,600 bytes in 2 blocks<br />
==9817== suppressed: 0 bytes in 0 blocks<br />
==9817==<br />
==9817== For counts of detected and suppressed errors, rerun with: -v<br />
==9817== ERROR SUMMARY: 16 errors from 16 contexts (suppressed: 22 from 7)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105442</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 15:48:06 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 15:57:29 GMT]]></title><description><![CDATA[<p>Viel besser als Speicherlecks zu beheben ist sie gar nicht erst entstehen zu lassen. Wenn du schön RAII einsetzt und Speicherverwaltung ordentlich wegkapselst, gehören solche Probleme der Vergangenheit an...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105445</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Aug 2011 15:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 16:32:54 GMT]]></title><description><![CDATA[<p>Ich suche nun nach den einzelnen Stellen:</p>
<p>==9817==<br />
==9817== FILE DESCRIPTORS: 3 open at exit.<br />
==9817== Open file descriptor 2: /dev/pts/3<br />
==9817== &lt;inherited from parent&gt;<br />
==9817==<br />
==9817== Open file descriptor 1: /dev/pts/3<br />
==9817== &lt;inherited from parent&gt;<br />
==9817==<br />
==9817== Open file descriptor 0: /dev/pts/3<br />
==9817== &lt;inherited from parent&gt;<br />
==9817==</p>
<p>Okay, das scheint etwas mit dem Öffnen der Dateien zu tun zu haben. Bis jetzt habe ich da wenn ich eine Datei schreibe zu Beginn die C-Variante mit Handles genommen, jetzt versuche ich das mit fstreams. Ich wusste nicht, ob es besser ist, die Datei direkt wieder via meinfstream.close() zu schließen oder sich auf den Default-Destruktor zu verlassen. Ich nehme mal die C-Datei-Handles raus und verlasse mich auf den Destruktor und teste dann nochmal. Den Wikipedia-Artikel zu RAII habe ich mir angesehen, ist aber Neuland. Speichermanagement bin ich auch unerfahren, bis jetzt gabs in meiner Welt immer nen GarbageCollector. Dazu habe ich eigentlich nirgends im Code ein new() stehen und dachte, da bin ich dann auf der sicheren Seite?!</p>
<p>... weiter ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105465</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 16:32:54 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 16:48:20 GMT]]></title><description><![CDATA[<p>==9817== 33 bytes in 1 blocks are definitely lost in loss record 1 of 18<br />
==9817== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==9817== by 0x807D9FA: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (basic_allocator_interface.h:199)<br />
==9817== by 0x8080A35: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==9817== by 0x80735F5: main (msa.h:384)</p>
<p>Wenn ich das richtig verstehe, dann bleiben da 33 Bytes liegen, das Einleseprozedere findet aber nur einmal statt und meine Klasse ist MSA, dann geht es in die externe Bibliothek.</p>
<p>Hier ist mal die entsprechende Methode, bei allem mit seqan::... geht es in die externe Bibliothek:</p>
<pre><code class="language-cpp">inline void Msa::readMsaFromFile(std::string path) {

    std::fstream fstrm;
    fstrm.open(path.c_str(), ::std::ios_base::in | ::std::ios_base::binary);
    if (!fstrm) {
        std::cout &lt;&lt; &quot;XXX Fehler: Datei nicht gefunden!\n&quot;;
        exit(0);
    } // Datei nicht vorhanden
    seqan::String&lt;char&gt; fasta_tag;
    seqan::String&lt;char&gt; fasta_seq;

    while (!fstrm.eof()) { // siehe seqan.de, Tutorial
        seqan::readMeta(fstrm, fasta_tag, seqan::Fasta()); // Namenstag der Sequenz-aufnehmen
        seqan::appendValue(sequencesTagList, fasta_tag); // Name einhängen
        seqan::read(fstrm, fasta_seq, seqan::Fasta()); // Sequenz aufgreifen
        seqan::appendValue(sequencesList, fasta_seq); // Sequenz einhängen
    }
    fstrm.close();
    int i = seqan::length(sequencesList); // letzte Sequenz entfernen, da diese immer leer ist
    seqan::removeValueById(sequencesList, (i - 1)); // Sequenz i-1 aus dem StringSet löschen
    seqan::removeValueById(sequencesTagList, (i - 1)); // Sequenznamen aus dem StringSet löschen
}
</code></pre>
<p>Edit: ... da haben wir direkt so einen Fall mit dem fstream.close() - sollte ich das da nun lassen oder lieber raus nehmen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105472</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 16:48:20 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 16:53:10 GMT]]></title><description><![CDATA[<p>Jay1980 schrieb:</p>
<blockquote>
<p>Edit: ... da haben wir direkt so einen Fall mit dem fstream.close() - sollte ich das da nun lassen oder lieber raus nehmen?</p>
</blockquote>
<p>Raus nehmen, C++-Filestreams können RAII. Hast du meinen oberen Beitrag gelesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105476</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Aug 2011 16:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 16:55:56 GMT]]></title><description><![CDATA[<p>Ah okay, nächster Valgrind-Punkt ... da stimmt was nicht, was ich beheben kann.</p>
<pre><code class="language-cpp">// --- Levenberg-Marquardt-Fit to Gumbel-dist, see model in fcn(), cumulated relative bin heights and cumulated model
        int m = binsInteger;                            // number of observations or functions
        int n = 2;                                      // number of parameters to fit, here mue and beta
        independent_variables = new double[m];          // vector of independent variables, x-values = bin-mids
        oberved_values = new double[m];                 // vector of observed variables, y-values of observations, data to fit
        VecDoub nrRealVecCumulated( binsInteger );      // data points of experiment, cumulated
        for (int i = 0; i &lt; m; i++) {
            // set x and y value, x = bin-mid, y = realCumBinHeight
            double curBinMid = binMidList.at(i);
            double absBinElementsCumulated = gsl_histogram_get(hcum, i);   
            nrRealVecCumulated[i] = absBinElementsCumulated;                  
            independent_variables[i] = curBinMid;
            oberved_values[i] = nrRealVecCumulated[ i ] / elementsDouble;
            //std::cout &lt;&lt; &quot; -&gt; PreMinpack-Run - &quot; &lt;&lt; i &lt;&lt; &quot;; x - &quot; &lt;&lt; independent_variables[i] &lt;&lt; &quot;; y - &quot; &lt;&lt; oberved_values[i] &lt;&lt; &quot;;\n&quot;;
        }
        double* x = new double[n];      // initial estimate of parameters vector
        x[0] = 0.01;                    // mue-Guess
        x[1] = 0.005;                   // beta-Guess
        double* fvec = new double[m];   // no need to populate 
        double ftol = 1e-08;            // tolerance
        double xtol = 1e-08;            // tolerance
        double gtol = 1e-08;            // tolerance
        int maxfev = 400;               // maximum function evaluations
        double epsfcn = 1e-08;          // tolerance
        double* diag = new double[n];   // some internal thing
        int mode = 1;                   // some internal thing
        double factor = 1;              // a default recommended value
        int nprint = 0;                 // don't know what it does
        int info = 0;                   // output variable
        int nfev = 0;                   // output variable will store no. of function evals
        double* fjac = new double[m * n]; // output array of jacobian
        int ldfjac = m;                 // recommended setting
        int* ipvt = new int[n];         // for internal use
        double* qtf = new double[n];    // for internal use
        double* wa1 = new double[n];    // for internal use
        double* wa2 = new double[n];    // for internal use
        double* wa3 = new double[n];    // for internal use
        double* wa4 = new double[m];    // for internal use
        QuantLib::MINPACK::lmdif(m, n, x, fvec, ftol, xtol, gtol, maxfev, epsfcn, diag, mode, factor, nprint, &amp;info, &amp;nfev, fjac, ldfjac, ipvt, qtf, wa1, wa2, wa3, wa4);
        // the below is out result. compare it with the values used in fcn function
        double a = x[0];
        double b = x[1];
        double minpackGumbelMue = a;
        double minpackGumbelBeta = b;
        std::cout &lt;&lt; &quot;| ... ... mueMinpackFit: &quot; &lt;&lt; minpackGumbelMue &lt;&lt; &quot; betaMinpackFit: &quot; &lt;&lt; minpackGumbelBeta &lt;&lt; std::endl;
</code></pre>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox6807" checked="true" /><label for="checkbox6807">das Problem, ich werde die dann einfach via delete freigeben, das war ein Snippet den ich übernommen habe ... ohne valgrind wäre mir das wohl durchgerutscht.</label></div></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105480</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 16:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 17:53:21 GMT]]></title><description><![CDATA[<p>So allgemein: Die drei Filehandles die am Ende noch offen sind, sind stdout, stderr und stdin. Das ist normal, dass die offen bleiben. Wenn du soweit bist, dass das alles ist, dann ist alles in Butter.</p>
<blockquote>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox6808" checked="true" /><label for="checkbox6808">das Problem, ich werde die dann einfach via delete freigeben, das war ein Snippet den ich übernommen habe ... ohne valgrind wäre mir das wohl durchgerutscht.</label></div></p>
</blockquote>
<p>Hallo? Was soll so was? Liest du überhaupt, was man dir schreibt? Warum ist das kein std::vector?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105485</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 12 Aug 2011 17:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 17:01:37 GMT]]></title><description><![CDATA[<p>Benutz besser gleich std::vector, dann bist du exception-sicher.</p>
<p>Was die Dateideskriptoren angeht, 0 ist stdin, 1 ist stdout, 2 ist stderr. /dev/pts/3 ist ein Pseudo-Terminal, in diese Fall vermutlich xterm oder so. Die dürfen am Ende ruhig offen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105486</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 12 Aug 2011 17:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to Valgrind-Ausgabe interpretieren on Fri, 12 Aug 2011 19:19:04 GMT]]></title><description><![CDATA[<p>Sodala, jetzt schaut das schon besser aus, danke euch. Klar lese ich die Sachen und mache mir darüber Gedanken, in dem Thread war es aber einige Mal so, dass die Antwort noch nicht vor meinen Augen war, weil ich den Thread offen hatte und direkt auf meinen eigenen Beitrag antwortete, ohne die Seite vorab zu aktualisieren.</p>
<p>==13588==<br />
==13588== HEAP SUMMARY:<br />
==13588== in use at exit: 5,610 bytes in 82 blocks<br />
==13588== total heap usage: 389,628 allocs, 389,546 frees, 10,013,178 bytes allocated<br />
==13588==<br />
==13588== 33 bytes in 1 blocks are definitely lost in loss record 1 of 4<br />
==13588== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==13588== by 0x807DB7A: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (basic_allocator_interface.h:199)<br />
==13588== by 0x8080BB5: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==13588== by 0x80733F1: main (msa.h:384)<br />
==13588==<br />
==13588== 100 bytes in 1 blocks are definitely lost in loss record 2 of 4<br />
==13588== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==13588== by 0x807DB7A: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (basic_allocator_interface.h:199)<br />
==13588== by 0x8080B92: Msa::readMsaFromFile(std::string) (msa.h:415)<br />
==13588== by 0x80733F1: main (msa.h:384)<br />
==13588==<br />
==13588== 1,320 bytes in 40 blocks are definitely lost in loss record 3 of 4<br />
==13588== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==13588== by 0x807D827: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==13588== by 0x807DB0D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==13588== by 0x8080BB5: Msa::readMsaFromFile(std::string) (msa.h:417)<br />
==13588== by 0x80733F1: main (msa.h:384)<br />
==13588==<br />
==13588== 4,157 bytes in 40 blocks are definitely lost in loss record 4 of 4<br />
==13588== at 0x402569A: operator new(unsigned int) (vg_replace_malloc.c:255)<br />
==13588== by 0x807D827: seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type seqan::_Resize_String&lt;seqan::Tag<a href="seqan::TagGenerous_" rel="nofollow">seqan::TagGenerous_</a> const&gt;::resize_&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt;&amp;, seqan::Size&lt;seqan::String&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Alloc&lt;void&gt; &gt; &gt;::Type) (basic_allocator_interface.h:199)<br />
==13588== by 0x807DB0D: void seqan::appendValue&lt;seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; &gt;(seqan::StringSet&lt;seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt;, seqan::Owner&lt;seqan::Tag<a href="seqan::Default_" rel="nofollow">seqan::Default_</a> const&gt; &gt;&amp;, seqan::String&lt;char, seqan::Alloc&lt;void&gt; &gt; const&amp;) (string_base.h:1705)<br />
==13588== by 0x8080B92: Msa::readMsaFromFile(std::string) (msa.h:415)<br />
==13588== by 0x80733F1: main (msa.h:384)<br />
==13588==<br />
==13588== LEAK SUMMARY:<br />
==13588== definitely lost: 5,610 bytes in 82 blocks<br />
==13588== indirectly lost: 0 bytes in 0 blocks<br />
==13588== possibly lost: 0 bytes in 0 blocks<br />
==13588== still reachable: 0 bytes in 0 blocks<br />
==13588== suppressed: 0 bytes in 0 blocks<br />
==13588==<br />
==13588== For counts of detected and suppressed errors, rerun with: -v<br />
==13588== ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 22 from 7)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105531</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 12 Aug 2011 19:19:04 GMT</pubDate></item></channel></rss>