Seite 1 von 1

During startup program exited with code 0xc0000135.

Verfasst: 27. August 2014 17:41
von ThomasS
Hallo alle zusammen

Beim debuggen bekommen ich den Fehler: "During startup program exited with code 0xc0000135."
Noch bevor sich irgend etwas tut. Starte ich ohne Debugger, stürzt es direkt ab. Kein Call Stack verfügbar, einfach Absturz!!

Jetzt habe ich das gesamte Projekt Schritt für Schritt neu aufgebaut und herausgefunden, was diese Fehlermeldung auslöst, komme nun aber nicht mehr weiter.
Es ist ein Subdirs-projekt, ein ausführbares Projekt mit diversen Bibliotheken in jeweils eigenen Ordnern (vielfachen Abhänigkeiten)

Der grobe Aufbau des Problemverursachenden Teils im Projekt:
- eine Bibliothek (NotationManager) soll Instanzen von Klassen (SpecialNotation) verwalten
- "SpecialNotations" (dlls) werden während der Laufzeit von NotationManager geladen und erzeugt.
- alle SpecialNotations erben von einer abstrakten Basisklasse (Notation)

Irgendwann müssem alle wieder gelöscht werden (Speicherfreigabe): -->delete notation;

Dies ist ein Auslöser. Wenn ich diesen Befehl auskommentiere (u.a.), dann NotationManager neu kompilliere und das Programm starte, läuft es.
Nehme ich diese Zeile wieder herein, stürzt es sofort ab.

Das Seltsame ist, dass eine Instanz von NotationManager zwar im Hauptprogramm erzeugt wird, die betreffenden Zeilen aber noch gar nicht aufgerufen werden können (weil die entsprechende Methode vom Hauptprogramm noch nicht aufgerufen wird) Ich kann mich auch nicht langsam dahin durch debuggen, denn es fängt gar nicht erst an zu debuggen.

Noch seltsamer: Ein ähnliches Vorgehen (im selben Projekt) funktioniert an anderer Stelle. (SymbolManager, Symbol, SpecialSymbol-1,...

Mit dieser Sache bin ich kurz vor der Aufgabe, obwohl schon weit über 1 Jahr Arbeit darin steckt (bin Anfang 2014 von VS 2010 auf QT umgestiegen)
Jeder Vorschlag ist willkommen!
Vielen Dank.


PS.: Ich nutze den QT Creator 5.2.0 (Installationsdatei: qt-windows-opensource-5.2.0-mingw48_opengl-x86-offline) in einer W7-64bit Umgebung

Re: During startup program exited with code 0xc0000135.

Verfasst: 27. August 2014 18:09
von Christian81
Ich tippe auf eine Dll im PATH welche nicht passt bze. eine ältere Version deiner Library. Ich würde mal DependencyWalker benutzen und schauen welche Dlls wirklich geladen werden. Veilleicht auch ein Mix aus Debug- und Release-Dlls? Ansonsten hilft nur, dass Programm so weit abzustrippen bis es funktioniert (also das delete drin lassen) um den wahren Verursacher herauszufinden.

Re: During startup program exited with code 0xc0000135.

Verfasst: 31. August 2014 21:43
von ThomasS
Solche Fehler habe ich versuch auszuschließen, indem ich u.A. die neuste Version von QT Creator installierte und später, als nicht half, wieder die jetzige (5.2.0)
Der Fehler trat auch erstmals auf, nachdem ich an einer Bibliothek gearbeitet hatte.

Nun gehe ich dem Fehler auf eine etwas obskure Art aus dem Weg:

Die verursachende Bibliothek wird beim momentanen Entwicklungsstand meines Projektes ausschließlich vom Hauptprogramm direkt verwendet. Ich habe nun dem Haupprogramm neue Dateien hinzugefügt, die das enthalten, was früher in der Bibliothek stand (ganz genau das selbe). Die Bibliothek wird nun also nicht mehr separat kompilliert, sondern ist fester Teil des Hauptprogrammes.
Und das war es. Der Fehler ist weg.
Ich verstehe nicht woher er kam und ich verstehe nicht, warum er jetzt wieder verschwunden ist.
Normalerweise hätte ich eine derartige Änderung am Projekt als redundant verworfen, aber es war der letzte Strohhalm.
Wie gesagt, der Quelltext ist exakt gleich geblieben, doch durch die Änderung der Anordnung der Dateien (was Anderes habe ich nicht getan) funktioniert er fehlerlos.

Den Tip mit dem PATH und der gleichen hatte ich über Google schon mal gefunden, aber das war/ist es nicht. Ich werde es wohl nicht erfahren.

Auf jeden Fall vielen Dank für die Hilfe