<?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[EAccessViolation außerhalb Debugger (War : Ursache ???)]]></title><description><![CDATA[<p>Hallo,</p>
<p>das Thema für diesen Post ist vielleicht etwas seltsam, aber mir ist nichts besseres eingefallen.</p>
<p>Ich arbeite an einem etwas umfangreicheres Projekt. Bei einer Funktion des Programmes erhalte ich sowohl beim Start mit F9 in der Entwicklungsumgebung als auch beim Start außerhalb der Entwicklungsumgebung eine <strong>EAccessViolation</strong>.<br />
Beim Debuggen jedoch läuft das Programm ohne Fehlermeldung durch (Haltepunkte gesetzt und Variablenkontrolle i.O. sowie eingebaute Fehlerbehandlung i.O.</p>
<p>Wer von Euch hat einen Rat für mich, wie ich diesem Fehler (und es muß ja ein Programmfehler sein !?) auf die Schliche kommen kann?</p>
<p>Gruß Udo</p>
<p>/Edit : Bitte aussagekräftigen Threadtitel verwenden!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204092/eaccessviolation-außerhalb-debugger-war-ursache</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 13:23:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204092.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Jan 2008 07:28:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Wed, 30 Jan 2008 08:05:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das Thema für diesen Post ist vielleicht etwas seltsam, aber mir ist nichts besseres eingefallen.</p>
<p>Ich arbeite an einem etwas umfangreicheres Projekt. Bei einer Funktion des Programmes erhalte ich sowohl beim Start mit F9 in der Entwicklungsumgebung als auch beim Start außerhalb der Entwicklungsumgebung eine <strong>EAccessViolation</strong>.<br />
Beim Debuggen jedoch läuft das Programm ohne Fehlermeldung durch (Haltepunkte gesetzt und Variablenkontrolle i.O. sowie eingebaute Fehlerbehandlung i.O.</p>
<p>Wer von Euch hat einen Rat für mich, wie ich diesem Fehler (und es muß ja ein Programmfehler sein !?) auf die Schliche kommen kann?</p>
<p>Gruß Udo</p>
<p>/Edit : Bitte aussagekräftigen Threadtitel verwenden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446086</guid><dc:creator><![CDATA[Udo_11]]></dc:creator><pubDate>Wed, 30 Jan 2008 08:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Wed, 30 Jan 2008 07:38:30 GMT]]></title><description><![CDATA[<p>In der Tat ein unglücklicher Titel. &quot;EAccessViolation außerhalb Debugger&quot; o.ä. wäre vielleicht<br />
etwas aussagekräftiger gewesen.</p>
<p>Tritt die Zugriffsverletzung denn bei jedem Start auf?<br />
Kannst Du Teile Deines Programms herausnehmen (z.B. Auskommentieren)?<br />
Ansonsten würde ich mal den CodeGuard anwerfen.</p>
<p>Gruß</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446091</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Wed, 30 Jan 2008 07:38:30 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Wed, 30 Jan 2008 17:06:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>moeglicherweise Zugriff auf Form/teile bevor<br />
sie erzeugt wurden</p>
<p>Mfg<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446500</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Wed, 30 Jan 2008 17:06:20 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 06:48:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hatte gestern schon mal eine Antwort gepostet, aber die ist nicht dort gelandet wo sie sollte.<br />
Also folgendes:</p>
<p>1. der Fehler tritt nur bei bestimmten Eingabesituationen auf (ist nachvollziehbar).<br />
2. auskommentieren habe ich gestern ohne Erfolg versucht. Die Fehlersuche betrifft etwa 700 Programmzeilen in 5 voneinander abhängig abgearbeiteten Proceduren.<br />
3. CodeGuard anwerfen geht nicht, da das Programm dann nicht mehr <a href="http://startet.Es" rel="nofollow">startet.Es</a> kommt dann ein Fehler mit der Meldung &quot;... kann nicht initialisiert werden...&quot; (aus dem Gedächtnis)</p>
<p>Was für Codezeilen (Aufrufe) würdet Ihr denn auskommentieren?</p>
<p>Gruß Udo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446758</guid><dc:creator><![CDATA[Udo_11]]></dc:creator><pubDate>Thu, 31 Jan 2008 06:48:25 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 08:24:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>1. der Fehler tritt nur bei bestimmten Eingabesituationen auf (ist nachvollziehbar).</p>
</blockquote>
<p>offenbar hast Du ja schon den ersten wichtigen Schritt getan, nämlich den Fehler<br />
reproduzieren zu können. Damit hat man meiner Erfahrung nach eigentlich schon<br />
fast gewonnen.</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>2. auskommentieren habe ich gestern ohne Erfolg versucht. Die Fehlersuche betrifft etwa 700 Programmzeilen in 5 voneinander abhängig abgearbeiteten Proceduren.</p>
</blockquote>
<p>Klingt für mich nicht so hoffnungsvoll und etwas irritierend. Wenn man den Fehler reproduzieren<br />
kann, aber nur auf 700 Zeilen eingrenzen kann, sieht das so aus, als ob man den Code überhaupt<br />
nicht im Griff hat. Ich kann da aber natürlich auch falsch liegen, schließlich sehe ich den<br />
Code ja nicht.</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>3. CodeGuard anwerfen geht nicht, da das Programm dann nicht mehr <a href="http://startet.Es" rel="nofollow">startet.Es</a> kommt dann ein Fehler mit der Meldung &quot;... kann nicht initialisiert werden...&quot; (aus dem Gedächtnis)</p>
</blockquote>
<p>Die Erfahrung, dass CodeGuard nicht angewendet werden kann, habe ich bisher noch nicht gemacht.<br />
Manchmal kommt es vor, dass die CodeGuard-DLL nicht gefunden. Das lässt sich natürlich leicht<br />
beheben. Prinzipiell würde ich nach wie vor den Einsatz von CodeGuard bei derartigen Fehlern<br />
empfehlen.</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>Was für Codezeilen (Aufrufe) würdet Ihr denn auskommentieren?</p>
</blockquote>
<p>Ist natürlich ohne Code schwer zu sagen. Prinzipiell gilt es ja den Fehler zu isolieren<br />
oder einzukreisen. Naheliegend wäre es daher, möglichst viel Code auszuhängen und dann<br />
schrittweise wieder hineinzunehmen. Das macht man solange bis der Fehler wieder auftaucht.<br />
Dann nimmt man wieder andere Teile weg bis nur noch der Code-Teil drin ist, der Probleme<br />
macht.<br />
Im Extremfall bedeutet das, dass Du zu Beginn praktisch den gesamten Code wegnimmst. Das<br />
Programm macht dann natürlich nichts mehr sinnvolles, aber es sollte auch keinen Fehler<br />
mehr produzieren. Bei einem guten Design könntest Du möglicherweise komplette Klassen<br />
einzeln unter die Lupe nehmen, z.B. mit einem Unit-Test. Dann könntest Du vielleicht<br />
auch komplette Klassen aushängen oder durch leere Implementierungen (Null-Objekt) ersetzen.</p>
<p>Zur Not könntest Du auch einfach mal ein bisschen Code zeigen. Vielleicht kann man da<br />
etwas sehen.</p>
<p>Gruß</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446800</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 31 Jan 2008 08:24:24 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 12:44:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nach 6 Stunden versuchter Fehlereingrenzung folgendes Ergebnis:</p>
<p>1. Der Fehler tritt auf bei Aktionen mit 2 bestimmten ADODataSets (beim Setzen von Feldwerten per Code und auch beim abschließenden Post()<br />
2. Der Fehler tritt nur auf, wenn das Programm mit Compilermodus &quot;Endgültig&quot; kompiliert wird. Wenn ich im Compilermodus &quot;Endgültig&quot; die Geschwindigkeitsoptimierung ausschalte bzw. im Modus &quot;VollDebug&quot; kompiliere, dann läuft das Programm in allen getesteten Situationen ohne Fehler.</p>
<p>Wenn jetzt wieder jemand einen Tip hat, wäre ich sehr dankbar.</p>
<p>Gruß Udo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446925</guid><dc:creator><![CDATA[Udo_11]]></dc:creator><pubDate>Thu, 31 Jan 2008 12:44:59 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 13:19:18 GMT]]></title><description><![CDATA[<p>Das könnte z.Bsp. an Defaultbelegungen von Variablen liegen. Die meisten Compiler belegen Variablen beim definieren im Debugmodus mit Defaultwerten (Pointer z.Bsp. mit 0) tun dies im Releasemodus aber nicht mehr. Wenn man sich auf sowas verlässt kann das schonmal zu fehlern kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446946</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:19:18 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 13:22:03 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>1. Der Fehler tritt auf bei Aktionen mit 2 bestimmten ADODataSets (beim Setzen von Feldwerten per Code und auch beim abschließenden Post()</p>
</blockquote>
<p>Dann würde ich den Code mal in ein anderes/neues Projekt kopieren und dort ausführen.<br />
Wenn dort das Problem nicht auftritt, hast Du wahrscheinlich einen Fehler an anderer Stelle,<br />
der sich aber erst hier auswirkt.</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>2. [...]dann läuft das Programm in allen getesteten Situationen ohne Fehler.</p>
</blockquote>
<p>Dann hast Du wahrscheinlich den entscheidenden Test einfach nicht gemacht. Ich habe auch mal<br />
Tage damit verbracht einen solchen Fehler zu finden.<br />
Auch wenn ich weiß, dass er nicht das Allheilmittel ist und ich in Richtung &quot;Ceterum censeo<br />
Carthaginem esse delendam&quot; gehe, würde ich Dir trotzdem nochmal nahe legen, CodeGuard irgendwie<br />
zu benutzen. Es gibt übrigens auch Alternativen zu CodeGuard. Vielleicht funktioniert ja da<br />
irgendwas.</p>
<p>Meine Vermutung geht in die gleiche Richtung wie Braunsteins. Für mich deutet alles auf nicht<br />
initialisierten Speicher hin - deswegen auch immer wieder der Ratschlag mit CodeGuard.</p>
<p>Natürlich besteht immer noch die Möglichkeit, auf althergebrachte Weise Debug-Meldungen auszugeben,<br />
z.B. in eine Log-Datei. Hast Du das mal gemacht?</p>
<p>Gibt es möglicherweise Einträge in QualityCentral? Hast Du alle verfügbaren Updates installiert?<br />
Verwendest Du ADO-Fremdkomponenten? Falls ja, gibt es für die irgendwelche bekannten Bugs?</p>
<p>Gruß</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1446949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1446949</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 31 Jan 2008 13:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 14:27:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18157">@Alexander</a><br />
Ich habe Deine beharrliche Forderung nach CodeGuard beherzigt und es nochmal versucht mit dem Ergebnis:<br />
[list]<br />
-- wenn ich mit aktiviertem CodeGuard innerhalb der IDE starte, passiert garnichts (keine Meldung, kein Programmstart)<br />
-- Außerhalb der IDE bricht der Programmstart mit folgender Fehlermeldung ab:</p>
<pre><code>Die Anwendung konnte nicht richtig initialisiert werden (0xc0000005).Klicken Sie auf &quot;OK&quot;, um die Anwendung zu beenden.
</code></pre>
<p>Ich verwende keine ADO-Fremdkomponenten.<br />
Log-Datei habe ich schon gemacht, Variablenbelegungen i.O., jeder Ausruf der DataSets ( z.B. dataset-&gt;...) endet in einer EAccessViolation.</p>
<p>Gruß Udo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447026</guid><dc:creator><![CDATA[Udo_11]]></dc:creator><pubDate>Thu, 31 Jan 2008 14:27:59 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 14:50:59 GMT]]></title><description><![CDATA[<p>Udo_11 schrieb:</p>
<blockquote>
<p>wenn ich mit aktiviertem CodeGuard innerhalb der IDE starte, passiert garnichts (keine Meldung, kein Programmstart)</p>
</blockquote>
<p>Das würde ich näher untersuchen. Also Breakpoint in WinMain in der &lt;Projektname&gt;.cpp.</p>
<p>Udo_11 schrieb:</p>
<blockquote>
<p>jeder Ausruf der DataSets ( z.B. dataset-&gt;...) endet in einer EAccessViolation.</p>
</blockquote>
<p>Welchen Wert hat dataset? Testet Du irgendwo auf Null-Pointer?<br />
Also etwas derartiges:</p>
<pre><code class="language-cpp">if (dataset != 0)
// oder:
if (dataset == 0)
</code></pre>
<p>Denn speziell bei Pointern kann bei einer nicht initialisierten Variablen mal null<br />
drinstehen oder irgendein Datenschrott.<br />
Vielleicht wird das Objekt auch irgendwo an anderer Stelle gelöscht.<br />
Hast Du dieses dataset-Objekt per Code oder über den Designer erstellt?<br />
Wo erstellst Du das Objekt?<br />
Wo löschst Du das Objekt?<br />
Setze mal einen Breakpoint im Destruktor der Dataset-Klasse und schaue,<br />
ob der Destruktor irgendwann aufgerufen wird (ggf. mitloggen).</p>
<p>Und natürlich noch Ratschläge in der Art &quot;Haben Sie den Netzstecker eingesteckt?&quot;:<br />
- Bist Du sicher, dass Du mit der richtigen Version testest?<br />
- Gibt es irgendwo eine weitere Exe, die versehentlich verwendet wird?<br />
- Hast Du mal alle Zwischendateien gelöscht (.obj etc.)?</p>
<p>Gruß</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447049</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Thu, 31 Jan 2008 14:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Thu, 31 Jan 2008 14:59:01 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18157">@Alexander</a><br />
Danke für die Hinweise, werde ich morgen umsetzen.Für heute erstmal genug gegrübelt.<br />
Schönen Feierabend.</p>
<p>Gruß Udo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447061</guid><dc:creator><![CDATA[Udo_11]]></dc:creator><pubDate>Thu, 31 Jan 2008 14:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Fri, 01 Feb 2008 09:01:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18157">@Alexander</a><br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@Braunstein</a></p>
<p>zuerst mal folgendes: Ich habe den Fehler gefunden!</p>
<p>Es war nicht das ADODataSet.<br />
Es war ein static_cast, der innerhalb einer Schleife unter bestimmten Umständen nicht ausgeführt wurde.Demzufolge war die betreffende Variable undefiniert (Braunsteins Vermutung war richtig!)</p>
<p>Ich danke Euch beiden für Eure Umterstützung.</p>
<p>PS: CodeGuard habe ich immer noch nicht zum Laufen gebracht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18157">@Alexander</a> Was gibt es für Alternativen?</p>
<p>Gruß Udo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447420</guid><dc:creator><![CDATA[Udo_11]]></dc:creator><pubDate>Fri, 01 Feb 2008 09:01:05 GMT</pubDate></item><item><title><![CDATA[Reply to EAccessViolation außerhalb Debugger (War : Ursache ???) on Fri, 01 Feb 2008 09:15:33 GMT]]></title><description><![CDATA[<p>Udo_11 schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18157">@Alexander</a> Was gibt es für Alternativen?</p>
</blockquote>
<p>Such einfach mal hier im Forum. Das wurde schon ein paar mal diskutiert.</p>
<p>Gruß</p>
<p>Alexander</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1447427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1447427</guid><dc:creator><![CDATA[Alexander Kempf]]></dc:creator><pubDate>Fri, 01 Feb 2008 09:15:33 GMT</pubDate></item></channel></rss>