Seite 1 von 1

Programm stürzt nach mehreren Stunden ab. Wie finde ich den Fehler?

Verfasst: 27. März 2020 12:58
von freakonaleash99
Hallo.

Ich habe ein Programm mit dem qtcreator programmiert welches alle 15min eine Prüfung von Textdateien durchführt und mir das Resultat dieser Prüfung in einer gui anzeigt bzw. bei einem besonderen Ereignis eine message box aufruft. Das Programm funktioniert soweit so wie ich es mir vorstelle. Auch über einen langen Zeitraum (Tage), sofern ich nicht selbst die gui Aufrufe.
Das Problem ist nun, dass der Aufruf und klicken in der gui mach starten des Programms und auch nach ein paar Stunden super funktioniert. Wenn das Programm aber schon mehrere Stunden lief und ich die gui Aufrufe, stürzt es beim nächstbesten Klick in der gui ab.

Ich würde nun gerne feststellen, woran das liegt und den Fehler beheben, aber mir fehlt gerade komplett der Ansatz. Ich kann ja nicht irgendwas ändern in quelltext und dann mehrere Stunden testen.
Könnt ihr mir sagen, wie man an so ein Problem rangeht?

Vielen Dank im voraus.

Re: Programm stürzt nach mehreren Stunden ab. Wie finde ich den Fehler?

Verfasst: 2. April 2020 11:25
von tamasi
Bei einem solchen Problem würde ich zuerst ein Speicherleck vermuten.

Zum Debuggen kann man auch Debugausgaben in den Quellcode einstreuen, z. B direkt nach Slotaufruf. Wenn du dann einen Button drückst, erzeugst du eine kleine Textdatei wo du bestimmte Zwischenschritte markierst. So kannst du verfolgen bei welche Anweisung das Programm abstürzt.

Du kannst sowas auch in deinen 15min Funktion packen, dazu nen Zeitstempel und verschiedne Infos dazu. So siehst du ob das Programm schon dort Probleme bekommt.

Re: Programm stürzt nach mehreren Stunden ab. Wie finde ich den Fehler?

Verfasst: 5. April 2020 13:51
von freakonaleash99
Ok danke.
Allerdings habe ich mitlerweile eine andere Vermutung:
Ich verbinde mich häufig per RemoteDesktopVerbindung auf den PC wo das Programm läuft (Windows 10).
Wenn ich dann wieder direkt am System und nicht per Remote, dann sehe ich, dass meine GUI erstmal komplett weiß ist. Erst wenn ich die Fenstergröße dann anpasse, ist wieder alles zu sehen. Dann fehlen nur noch wenige Klicks in der GUI und dann stürzt alles ab.
Interessanterweise passiert das auch in anderen Tools die ich mit Qt programmiert habe.

Kennt das Problem jemand?

Re: Programm stürzt nach mehreren Stunden ab. Wie finde ich den Fehler?

Verfasst: 12. Mai 2020 12:43
von GoaSkin
Ein Klassischer Fehler ist es, wenn einerseits im Header ein globaler Pointer definiert wird und dann in einer immer wieder aufgerufenen Funktion in etwa so:

Code: Alles auswählen

Typ Pointer-Name = new Typ
der Pointer neu verknüpft wird, da nach jeder Neuzuweisung der Speicher des alten Inhaltes nicht freigegeben wird, sondern mehr oder weniger verwaist. Und so läuft dann der Speicher auf Dauer voll.