Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Keine Rückmeldung (https://www.delphipraxis.net/204775-keine-rueckmeldung.html)

Neumann 28. Jun 2020 10:02

Keine Rückmeldung
 
Hallo,

habe ein merkwürdiges Problem:

Mein Programm läuft, hat normal so Speicherverbrauch von 150-200 MB und eine Grundlast von etwa 5% CPU und verursacht beim Firebird auch so eine Grundlast in der Größenordnung; da regelmäßig auf geäderte Werte geprüft wird.

Manchmal kommt folgendes:

Programm steht mit den üblichen Folgen Bild vergraut, Sanduhr usw. Das kommt wenn überhaupt erst nach längerer Zeit, also nach mehreren Stunden oder Tagen.

Der Taskmanager zeigt das Programm dann mit Prozessorlast 0 bis 0,2, Speicherverbrauch 30 MB, Firebird macht auch nichts mehr.

Sieht irgendwie aus als wenn die Verarbeitung der Windows-Messages nicht mehr funktionieren würde.

Die Abfragen ob sich was geändert hat in der Datenbank werden in der OnIdle Routine ausgelöst.

Ich habe in den Hintergrund geratene modale Fenster oder Messageboxen im Verdacht, ist aber schwer herauszubekommen da man ja nur die Meldung vom Anwender bekommt das dass Programm "abgestürzt" ist.

Aber auch dann müsste die ONIdle-Routine doch weiterlaufen, oder?

jaenicke 28. Jun 2020 10:38

AW: Keine Rückmeldung
 
Zitat:

Zitat von Neumann (Beitrag 1468349)
Programm steht mit den üblichen Folgen Bild vergraut, Sanduhr usw. Das kommt wenn überhaupt erst nach längerer Zeit, also nach mehreren Stunden oder Tagen.
[..]
Ich habe in den Hintergrund geratene modale Fenster oder Messageboxen im Verdacht, ist aber schwer herauszubekommen da man ja nur die Meldung vom Anwender bekommt das dass Programm "abgestürzt" ist

Modale Dialogboxen, auch wenn sie im Hintergrund landen, führen nicht dazu, dass die Anwendung nicht mehr reagiert. Dann bekommt man beim Klick auf das Fenster einen Signalton und das war es.

Du könntest Eurekalog verwenden. Das überwacht mit einem separaten Thread, ob die Anwendung noch reagiert und schreibt ansonsten nach einer einstellbaren Zeit ein Log und/oder zeigt ein Fenster mit Details an (einstellbar).

Neumann 28. Jun 2020 10:53

AW: Keine Rückmeldung
 
Ja mit den Dialogboxen stimmt.

Seh mir Eurecalog mal an. Das Problem kommt nicht oft, aber auch wenn es bei 100 Kunden bei einem 1 X in der Woche auftritt muss es gelöst werden.

Leider kommt es bei mir nie wenn ich das Programm im Debugger laufen lasse, da kommen eher Probleme durch den Debugger selber.

himitsu 28. Jun 2020 15:38

AW: Keine Rückmeldung
 
Bei Threadding und Timingprobleme, die können weg sein, im Debugger, da er alles bissl ausbremst.
Aber dennoch kannst du dort mit dem Debugger arbeiten, denn du kannst erst in das Problem fahren und dich anschließend in das hängende Programm reinhängen.
Menü > Start > mit Prozess verbinden
Auch über den RemoteDebugger, wenn es nicht auf dem PC mit Delphi passiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz