<?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[Der abgefahrenste bug der letzten Tage (STL)]]></title><description><![CDATA[<p>ich werd noch wahnsinnig:<br />
Folgender bug:</p>
<p>mein Hauptprogramm ruft folgende methode der classe Myclass auf</p>
<pre><code>void MyClass::DoSomething
{
vector&lt;int&gt;::iterator einIteratorMitEinemLangenNamen;
//vector&lt;int&gt;::iterator iter;  
}
</code></pre>
<p>(richtig gelesen: es handelt sich um eine funktion die NICHTS tut. Ein Iterator wird definiert und auch gleich wieder am end der methode vernichtet)<br />
Läuft prima. Mein hauptprogramm stürzt allerdings danach bei einer anderen funktion die Ü-B-E-R-H-A-U-P-T-N-I-C-H-T-S mit dem ganzen quatsch zu tun hat ab (nicht, daß es etwas damit zu zun haben KÖNNTE - da ja garnix passiert)</p>
<p>Jetzt kommt der Knüller:<br />
Wenn ich den anderen iteartor definiere</p>
<pre><code>void MyClass::DoSomething
{
//vector&lt;int&gt;::iterator einIteratorMitEinemLangenNamen;
vector&lt;int&gt;::iterator iter;
}
</code></pre>
<p>funktioniert alles bestens.</p>
<p>Nach mehfrachem rumprobieren stellt sich heraus: sobald der iterator einen namen hat der länger als 6 zeichen ist schmiert mein programm nachweisbar an oben erwähnter, nicht damit in verbindung stehenden stelle, ab.</p>
<p><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="😕"
    /> HÄ? <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="😕"
    /><br />
Hat da jemand irgendeine idee was da abgehen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180579/der-abgefahrenste-bug-der-letzten-tage-stl</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 22:21:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180579.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 04 May 2007 11:05:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 11:05:32 GMT]]></title><description><![CDATA[<p>ich werd noch wahnsinnig:<br />
Folgender bug:</p>
<p>mein Hauptprogramm ruft folgende methode der classe Myclass auf</p>
<pre><code>void MyClass::DoSomething
{
vector&lt;int&gt;::iterator einIteratorMitEinemLangenNamen;
//vector&lt;int&gt;::iterator iter;  
}
</code></pre>
<p>(richtig gelesen: es handelt sich um eine funktion die NICHTS tut. Ein Iterator wird definiert und auch gleich wieder am end der methode vernichtet)<br />
Läuft prima. Mein hauptprogramm stürzt allerdings danach bei einer anderen funktion die Ü-B-E-R-H-A-U-P-T-N-I-C-H-T-S mit dem ganzen quatsch zu tun hat ab (nicht, daß es etwas damit zu zun haben KÖNNTE - da ja garnix passiert)</p>
<p>Jetzt kommt der Knüller:<br />
Wenn ich den anderen iteartor definiere</p>
<pre><code>void MyClass::DoSomething
{
//vector&lt;int&gt;::iterator einIteratorMitEinemLangenNamen;
vector&lt;int&gt;::iterator iter;
}
</code></pre>
<p>funktioniert alles bestens.</p>
<p>Nach mehfrachem rumprobieren stellt sich heraus: sobald der iterator einen namen hat der länger als 6 zeichen ist schmiert mein programm nachweisbar an oben erwähnter, nicht damit in verbindung stehenden stelle, ab.</p>
<p><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="😕"
    /> HÄ? <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="😕"
    /><br />
Hat da jemand irgendeine idee was da abgehen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278686</guid><dc:creator><![CDATA[antialias]]></dc:creator><pubDate>Fri, 04 May 2007 11:05:32 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 11:11:56 GMT]]></title><description><![CDATA[<p>Hi, wohlmöglich hast du aber doch irgendwo in deinem Code nen Fehler, was undefiniertes Verhalten auslöst und das das hier nur Zufall ist ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278691</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 04 May 2007 11:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 14:08:46 GMT]]></title><description><![CDATA[<p>Was soll das sein?</p>
<p>antialias schrieb:</p>
<blockquote>
<p>mein Hauptprogramm ruft folgende methode der classe Myclass auf</p>
<pre><code>void MyClass::DoSomething
{
</code></pre>
</blockquote>
<p>Das ist keine Methode.</p>
<p>Grüsse</p>
<p>*this</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278826</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 04 May 2007 14:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 14:42:44 GMT]]></title><description><![CDATA[<p>antialias schrieb:</p>
<blockquote>
<p>einen namen hat der länger als 6 zeichen ist schmiert mein programm nachweisbar an oben erwähnter, nicht damit in verbindung stehenden stelle, ab.</p>
</blockquote>
<p>Wie oft dürfen wir raten? Access violation?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278850</guid><dc:creator><![CDATA[keksekekse]]></dc:creator><pubDate>Fri, 04 May 2007 14:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 14:51:50 GMT]]></title><description><![CDATA[<p>Also ich denke ma as is kein compilerfehler oder so.</p>
<p>mach doch mal das:<br />
- Warum schmiert der Code ab, wenn der iteratort 6 zeichen lang ist.<br />
- Warum schmiert der Code ncit ab, wenn der iterator kürzer ist?</p>
<p>Da muss es einen Unterschied geben, sonst würde es ja nciht abschmieren.<br />
Womöglich überschreibst du speicher, der dir nicht gehört und überschriebst den namen des iterators in den debuginformationen oder sowas, kA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278853</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Fri, 04 May 2007 14:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 18:43:12 GMT]]></title><description><![CDATA[<p>muss am montag nochmal die fehlermeldung genau rauskramen (war auf arbeit).<br />
<strong>Gast++</strong> : ja, hab mich vertippt (natürlich heissen meine klassen nicht 'MyClass'.... und wer Methodennamen wie 'DoSomething()' in realen Projekten verwendet gehört MMN erschossen)</p>
<p><strong>All</strong>: Der Programmcode der nach meiner Klasse ausgeführt wird stammt nicht von mir und läuft seit mehreren Jahren stabil (auf vielen Rechnern europaweit). Ich weiß - das hat nix zu bedeuten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ich war nur immer der meinung, dass STL Klassen soweit gut wären, dass sie beim 'delete' aufruf am ende der Methode restlos zerstört werden und der speicher auf dem stack komplett wieder frei gegeben wird. Ich kann mir einfach keinen 'Nebeneffekt' vorstellen, warum die <em>länge</em> eines variablennamens etwas verbocken sollte. (ich habs mindestens 10 mal so und so rum probiert, weil ich einfach nicht glauben konnte, dass es damit zusammen hängt).</p>
<p>achso: der code welcher nicht von mir ist (und wos dann abschmiert) benützt überhaupt keine STL klassen. also kanns auch keine access violation sein die damit iorgendwie in zusammenhang steht, oder? KRISÄ.</p>
<p>aber wer sagt C++ hätte keine überraschungen mehr parat? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278954</guid><dc:creator><![CDATA[antialias]]></dc:creator><pubDate>Fri, 04 May 2007 18:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 18:59:20 GMT]]></title><description><![CDATA[<p>antialias schrieb:</p>
<blockquote>
<p>muss am montag nochmal die fehlermeldung genau rauskramen (war auf arbeit).<br />
<strong>Gast++</strong> : ja, hab mich vertippt (natürlich heissen meine klassen nicht 'MyClass'.... und wer Methodennamen wie 'DoSomething()' in realen Projekten verwendet gehört MMN erschossen)</p>
</blockquote>
<p>Darum gehts nicht; die Syntax stimmt nicht (&quot;()&quot; fehlt).</p>
<p>Das lässt vermuten dass es sich um den Nachbau einer Funktion zu Demo-Zwecken handelt. So kriegt man sowas <strong>nie</strong> reproduziert.</p>
<p>Probiers dooh mal mit dem Gleichen Code in einem &quot;Hello World&quot; Programm das Du nur um die entsprechende Klasse/Funktion erweiterst und vielleicht um einen dynamisch allozierten Speicherbereich &gt; 4k (= i386 Pagegrösse).<br />
(Es wird nichts bringen)</p>
<p>Wenn's kein Allokationsfehler ist, dann wahrscheinlich ein Linker-Problem; wurde schon ein komplettes Rebuild versucht?</p>
<p>Grüsse &amp;&amp; Happy WE</p>
<p>*this</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278962</guid><dc:creator><![CDATA[Gast++]]></dc:creator><pubDate>Fri, 04 May 2007 18:59:20 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 18:58:17 GMT]]></title><description><![CDATA[<p>Ich hoffe du hast dich vertippt:</p>
<p>antialias schrieb:</p>
<blockquote>
<p>'delete' aufruf am ende der Methode restlos zerstört werden und der speicher auf dem stack komplett wieder frei gegeben wird.</p>
</blockquote>
<p>Du wendest doch woll nicht delete auf Daten an, die auf dem Stack liegen?<br />
Ich denke, du meintest den Heap, oder?</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1278964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1278964</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Fri, 04 May 2007 18:58:17 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 21:10:04 GMT]]></title><description><![CDATA[<p><strong>Gast</strong>:<br />
das '()' fehlt natürlich im realen programm nicht (ich hab den code hier nur zur demonstrationszwecken schnell ins forum getippt (weil: mein code liegt auf arbeit und ich bin momentan zuhause) und mich dabei verhaspelt... aber ich denke es ist trotzdem klar was gemeint ist .</p>
<p>'hello world' simulation des problems hab ich schon probiert...ist aber ohne ergebnis geblieben. bei mir zuhause kann ich soviele iteratoren deklarieren (mit so langen namen) wie ich will.</p>
<p>vodoo programmierung (kompletter clean/rebuild) hab ich auch mehrfach probiert.</p>
<p><strong>Don06</strong> :<br />
wo legt denn STL seine iteratoren an...stack oder heap? keine ahnung <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="😞"
    /> ? in solchen interna...und was das für konsequenzen hat kenne ich mich nicht so aus. delete wird natürlich nicht (von mir) aufgerufen. ich meinte die normalen destruktoren die am ende einer methode für lokale variablen aufgerufen werden (garbage collection).</p>
<p>bin etwas verpeilt (24 stunden ohne schlaf, und davon 4 stunden bug suche bis ich es auf dieses phänomen eingekreist hatte)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279004</guid><dc:creator><![CDATA[antialias]]></dc:creator><pubDate>Fri, 04 May 2007 21:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Der abgefahrenste bug der letzten Tage (STL) on Fri, 04 May 2007 22:28:56 GMT]]></title><description><![CDATA[<p>Wenns an der Länge des Variablennamens liegt: Compilerfehler.<br />
Lass dir doch einfach ein ASM Listing generieren von beiden Versionen und guck was der Unterschied ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279039</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 04 May 2007 22:28:56 GMT</pubDate></item></channel></rss>