QT und Phonon späten C++ Runtime Error finden



  • Hallo Leute,

    möchte gerne mal mit ein paar Leuten über das finden von so komischen schwer auffindbaren Fehlern reden.

    Ich arbeite gerade an einem mit QT und Phonon realisierten Player, der lange Zeit ohne Unterbrechung laufen und verschiedene Codecs spielen sollte. Leider ist es jetzt so dass der Player zwischen 5 min und 6 h einen C++ Runtime Error meldet. Soweit ich bis jetzt gesehen habe tritt der Fehler auch nur dann auf wenn er im Windows XP läuft.

    Ich vermute dass der Fehler sowieso in meinem Code, in Phonon, im Phonon Backend oder in der von K-Lite installierten Codec Implementierung vorhanden ist.

    Frage 1:

    Kann es also sein dass Windows 7 obwohl allgemein ein Fehler besteht damit gemütlicher umgeht wie Windows XP? (Mögliche Unterschiede im Memory Management??!)

    Frage 2:

    Wie könnte ich solche Fehler finden? Ich habe schon verschiedene Sachen mit OllyDBG probiert, bin aber bis jetzt noch nicht schlauer geworden. Wie kann ich also den Fehler lokalisieren?

    Wäre fein wenn da jemand ein paar Erfahrungen oder Informationen für mich hätte. Bin ja selbst nicht so der Debugging Pro und daher für alle Infos offen.

    Danke im voraus für alle Infos
    Darian



  • Lass dir ein Minidump erstellen, wenn du die Symbole hast (solltest du haben), dann kannst doch ganz einfach sehen, wo der Absturz her kam. Heißt natürlich noch lange nicht, dass es auch wirklich was aussagt oder gleich klar ist, woran das liegt, aber sehr oft kommt man so weiter.



  • Das Ding unter einem Memchecker laufen zu lassen könnte auch helfen. Kandidaten wären valgrind, Purify und Konsorten. Die sagen dir bei Zugriffsfehlern, wer wohin greift und ob/wo der Speicher ggf. vorher freigegeben wurde usw.



  • Danke für die Infos.

    Interessant wäre außerdem noch wie ich ein Minidump erstelle und wie ich das analysiere. Geht sowas mit OllyDBG?

    Mit Valgrind hätte ich es im Linux auch schon probiert, bin da aber irgendwie auf keine brauchbaren Informationen gekommen. Sollte also wirklich mal mit valgrine einen Langzeit Test laufen lassen.

    thx und lg
    Darian


Anmelden zum Antworten