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

Alles rund um die Programmierung mit Qt
Antworten
freakonaleash99
Beiträge: 31
Registriert: 23. Juli 2017 12:35

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

Beitrag von freakonaleash99 » 27. März 2020 13:58

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.

tamasi
Beiträge: 44
Registriert: 5. Juli 2007 15:49

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

Beitrag von tamasi » 2. April 2020 11:25

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.

freakonaleash99
Beiträge: 31
Registriert: 23. Juli 2017 12:35

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

Beitrag von freakonaleash99 » 5. April 2020 13:51

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?

GoaSkin
Beiträge: 102
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

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

Beitrag von GoaSkin » 12. Mai 2020 12:43

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.

Antworten