<?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[Crash  (Heap Corruption)]]></title><description><![CDATA[<p>Ich habe einen Crash (Heap Corruption) welchen ich nicht verstehe:</p>
<blockquote>
<p>HEAP[ShapedMaterialProcessingd.exe]: Heap block at 0211A180 modified at 0211C1AC past requested size of 2024<br />
Windows has triggered a breakpoint in ShapedMaterialProcessingd.exe.</p>
<p>This may be due to a corruption of the heap, and indicates a bug in ShapedMaterialProcessingd.exe or any of the DLLs it has loaded.</p>
<p>The output window may have more diagnostic information<br />
HEAP[ShapedMaterialProcessingd.exe]: Invalid Address specified to RtlValidateHeap( 00DF0000, 0211A188 )<br />
Windows has triggered a breakpoint in ShapedMaterialProcessingd.exe.</p>
</blockquote>
<blockquote>
<p>msvcr80d.dll!_free_dbg_nolock(void * pUserData=0x0211a1a8, int nBlockUse=1) Line 1279 + 0x30 bytes C++<br />
msvcr80d.dll!_free_dbg(void * pUserData=0x0211a1a8, int nBlockUse=1) Line 1220 + 0xd bytes C++<br />
msvcr80d.dll!free(void * pUserData=0x0211a1a8) Line 1178 + 0xb bytes C++<br />
QtCored4.dll!6703fb6d()<br />
[Frames below may be incorrect and/or missing, no symbols loaded for QtCored4.dll]<br />
ShapedMaterialProcessingd.exe!QVector&lt;double&gt;::free(QVectorTypedData&lt;double&gt; * x=0x0211a1a8) Line 425 + 0xc bytes C++<br />
ShapedMaterialProcessingd.exe!QVector&lt;double&gt;::~QVector&lt;double&gt;() Line 114 + 0x42 bytes C++<br />
ShapedMaterialProcessingd.exe!PhaseFromPeriod::~PhaseFromPeriod() Line 21 + 0x5a bytes C++<br />
ShapedMaterialProcessingd.exe!ShapingGrating::~ShapingGrating() Line 26 + 0x29 bytes C++<br />
ShapedMaterialProcessingd.exe!beamshapes::~beamshapes() Line 43 + 0x8c bytes C++<br />
ShapedMaterialProcessingd.exe!beamshapes::`vbase destructor'() + 0x1c bytes C++<br />
ShapedMaterialProcessingd.exe!PhaseObject::~PhaseObject() Line 17 + 0xe bytes C++</p>
</blockquote>
<p>Das passiert wenn die Insanz von der Klasse 'PhaseObject' gelöscht wird. Dabei wird der Destruktor vom Object 'phaseCalibration' aufgerufen</p>
<pre><code class="language-cpp">class ShapingGrating : public virtual BeamShapingBasics
{

public:
    ShapingGrating();
    virtual ~ShapingGrating();

private:
    PhaseFromPeriod phaseCalibration;
</code></pre>
<p>dieser hat einen QVector</p>
<pre><code class="language-cpp">class PhaseFromPeriod
{
public:
    virtual ~PhaseFromPeriod(){}

private:
    QVector&lt;double&gt; m_Period;
</code></pre>
<p>Wenn nun der Destruktor von 'm_Period' aufgerufen wird crasht die Application.<br />
Ich haben einen Rebuild schon ausprobiert aber das hat nicht geholfen.</p>
<p>Was könnte ich ausprobieren ? Development platform ist Windows MSVC.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242724/crash-heap-corruption</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 05:15:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242724.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Jun 2009 14:46:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Crash  (Heap Corruption) on Sun, 07 Jun 2009 14:46:57 GMT]]></title><description><![CDATA[<p>Ich habe einen Crash (Heap Corruption) welchen ich nicht verstehe:</p>
<blockquote>
<p>HEAP[ShapedMaterialProcessingd.exe]: Heap block at 0211A180 modified at 0211C1AC past requested size of 2024<br />
Windows has triggered a breakpoint in ShapedMaterialProcessingd.exe.</p>
<p>This may be due to a corruption of the heap, and indicates a bug in ShapedMaterialProcessingd.exe or any of the DLLs it has loaded.</p>
<p>The output window may have more diagnostic information<br />
HEAP[ShapedMaterialProcessingd.exe]: Invalid Address specified to RtlValidateHeap( 00DF0000, 0211A188 )<br />
Windows has triggered a breakpoint in ShapedMaterialProcessingd.exe.</p>
</blockquote>
<blockquote>
<p>msvcr80d.dll!_free_dbg_nolock(void * pUserData=0x0211a1a8, int nBlockUse=1) Line 1279 + 0x30 bytes C++<br />
msvcr80d.dll!_free_dbg(void * pUserData=0x0211a1a8, int nBlockUse=1) Line 1220 + 0xd bytes C++<br />
msvcr80d.dll!free(void * pUserData=0x0211a1a8) Line 1178 + 0xb bytes C++<br />
QtCored4.dll!6703fb6d()<br />
[Frames below may be incorrect and/or missing, no symbols loaded for QtCored4.dll]<br />
ShapedMaterialProcessingd.exe!QVector&lt;double&gt;::free(QVectorTypedData&lt;double&gt; * x=0x0211a1a8) Line 425 + 0xc bytes C++<br />
ShapedMaterialProcessingd.exe!QVector&lt;double&gt;::~QVector&lt;double&gt;() Line 114 + 0x42 bytes C++<br />
ShapedMaterialProcessingd.exe!PhaseFromPeriod::~PhaseFromPeriod() Line 21 + 0x5a bytes C++<br />
ShapedMaterialProcessingd.exe!ShapingGrating::~ShapingGrating() Line 26 + 0x29 bytes C++<br />
ShapedMaterialProcessingd.exe!beamshapes::~beamshapes() Line 43 + 0x8c bytes C++<br />
ShapedMaterialProcessingd.exe!beamshapes::`vbase destructor'() + 0x1c bytes C++<br />
ShapedMaterialProcessingd.exe!PhaseObject::~PhaseObject() Line 17 + 0xe bytes C++</p>
</blockquote>
<p>Das passiert wenn die Insanz von der Klasse 'PhaseObject' gelöscht wird. Dabei wird der Destruktor vom Object 'phaseCalibration' aufgerufen</p>
<pre><code class="language-cpp">class ShapingGrating : public virtual BeamShapingBasics
{

public:
    ShapingGrating();
    virtual ~ShapingGrating();

private:
    PhaseFromPeriod phaseCalibration;
</code></pre>
<p>dieser hat einen QVector</p>
<pre><code class="language-cpp">class PhaseFromPeriod
{
public:
    virtual ~PhaseFromPeriod(){}

private:
    QVector&lt;double&gt; m_Period;
</code></pre>
<p>Wenn nun der Destruktor von 'm_Period' aufgerufen wird crasht die Application.<br />
Ich haben einen Rebuild schon ausprobiert aber das hat nicht geholfen.</p>
<p>Was könnte ich ausprobieren ? Development platform ist Windows MSVC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722770</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Sun, 07 Jun 2009 14:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to Crash  (Heap Corruption) on Fri, 12 Jun 2009 08:35:03 GMT]]></title><description><![CDATA[<p>Hast du es mal mit _CrtCheckMemory oder dem Application Verifier probiert?</p>
<p><a href="http://blog.m-ri.de/index.php/2008/10/27/vs-tipps-tricks-heap-bugs-finden-teil-1/" rel="nofollow">http://blog.m-ri.de/index.php/2008/10/27/vs-tipps-tricks-heap-bugs-finden-teil-1/</a> (unten sind Links zu Teil 2+3)</p>
<p><a href="http://blog.m-ri.de/index.php/2007/03/02/der-application-verifier-mein-neuer-freund/" rel="nofollow">http://blog.m-ri.de/index.php/2007/03/02/der-application-verifier-mein-neuer-freund/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725436</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 12 Jun 2009 08:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to Crash  (Heap Corruption) on Fri, 12 Jun 2009 10:49:31 GMT]]></title><description><![CDATA[<p>Zeig mal ein wenig mehr Code...</p>
<p>Oder versuch selbst, erst mal möglichst viel auszukommentieren<br />
und das so lang, bis es geht - wenn dann alles wieder geht, dann wieder stück für stück dazukommentieren...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725511</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 12 Jun 2009 10:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to Crash  (Heap Corruption) on Fri, 12 Jun 2009 11:22:24 GMT]]></title><description><![CDATA[<p>Der Fehler (Crash) war immer an einer anderen Stelle.<br />
Am Ende habe ich festgestellt, dass ich auf ein 1D Array zugegriffen habe, als wäre es ein 2D Array. Das funktionierte so gut, das eine Simulation 30 Minuten durchlaufen konnte ohne einen Fehler.</p>
<p>Aber sobald die beendet war, und ein erneuter Speicherzugriff irgentwo im Programm erfolgte crashte die Applikation.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1725525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1725525</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Fri, 12 Jun 2009 11:22:24 GMT</pubDate></item></channel></rss>