Seite 1 von 1
[Qt4.1.1][WinXp] "pure virtual function call"
Verfasst: 3. April 2006 22:39
von Esleborn
hi,
ich habe vor kurzem ein Programm entwickelt. Es wurde unter Win2000 mit Visual Studio 2003 kompiliert (Qt4.1.1), fürht man es jetzt unter WinXp aus, so kommt es manchmal zu dem folgenden Fehler.
Code: Alles auswählen
Runtime Error!
Program: <meine Exe>
R6025
- pure virtual function called
Manchmal ist hier ein etwas untreffendes Wort... der Fehler kommt häfuig zu verschiedenen Zeitpunkten und für mich völlig unvorhersehbar. Und
natürlich beendet sich das Programm dann auf der Stelle um meinen Chef zu zitieren..
Kann mir einer erklären, was der soll?
(ich vermute dass es entweder etwas mit den Abstractitemviews oder dem Netzwerk zu tun hat, aber mehr kann man nicht aussagen...)
Verfasst: 4. April 2006 06:52
von Christian81
Das hilft doch schon weiter:
http://msdn2.microsoft.com/en-us/library/wbddte9e.aspx
Deine Vermutung ist also korrekt. Nur weiss ich derzeit nicht wie man es weiter auflösen kann. Passiert es auch im Debugger - ein Backtrace wäre hier wohl am besten.
Verfasst: 4. April 2006 09:04
von BartSimpson
dann versuche mal testweise den mingw compiler.
Ich habe auch einnige Apps die mit dem MS Compiler nicht stabil laufen.
Verfasst: 4. April 2006 09:14
von Christian81
BartSimpson hat geschrieben:dann versuche mal testweise den mingw compiler.
Ich habe auch einnige Apps die mit dem MS Compiler nicht stabil laufen.
Das hat doch nichts mit MinGW zu tun - du hast irgendwo einen Programmfehler. Und wenn man es debuggt sollte er dir einen anständigen Backtrace geben und so recht schnell auf den Fehler bringen.
Verfasst: 4. April 2006 17:40
von Esleborn
boah der Punkt ist nur unter win2k (wo ich grad entwickel) gibt es de Fehler net... er kommt nur bei meinen Testern auf (ich selbst hatte ihn auch nicht unter zum Testen benutzen XP Umgebung)
was den mingw Compiler betrifft... würd ich ja gern... aber leider muss ich intern an einer Stelle den Media Player eibetten... und das bekommt man mit mingw net hin... außer mir kann einer ne DLL so konvertieren, dass mingw damit zurecht kommt (und nein mit den standard Methoden tut das net)
und direkt definiere ich NIRGENDS rein virtuelle Funktionen oder lass Pointer dynamisch rückberechnen... höchstens über Qt oder M$ Funktionen
Verfasst: 4. April 2006 18:00
von Christian81
Eventuell hilft es, wenn Du deine App als Release mit Debug-Informationen baust bzw. den Testern gleich eine Debug-Version bereitstellst.. Vielleicht bekommst Du dann einen gültigen Backtrace... ?
Imho gibts auch eine Möglichkeit bei einem Fehler automatisch einen Backtrace erstellen zu lassen:
http://cvs.sourceforge.net/viewcvs.py/q ... iew=markup
Verfasst: 4. April 2006 23:05
von Esleborn
jesesmaria nochmal für den bedepperten angetrunken... was ist des und wie bau ich es ein
(btw: vllt hat
das hier was mit zu tun...)
Verfasst: 6. April 2006 22:08
von Esleborn
vllt hab ich mich falsch ausgedrückt...
Ich weiß, was ein Backtrace ist, aber mein Verständniss langt nicht aus, um zu erkennen wann sich dieser Codeteil auslöst... bei Fehler zeigt es eine Nachricht an oder muss von mir aufgerufen werden...?
Verfasst: 16. April 2006 15:55
von Esleborn
naja viel Antwort ist das auch für eine (zugegebenermaßen) dumme Frage...
Aber die Frage hat durch aus ihren Sinn:
Weder Fehler noch sonst irgendwas kann irgendwie etwas aus diesem Code aufrufen... (zumindest ich bekomm es nicht hin...) Außerdem schien der Code einige... inkompatibilitäten zu enthalten...
Auf gut Deutsch nochmal:
Ich bin zu doof... HILFE!
Elgrimm Esleborn