AW: Nach Timer.Enable killt sich das Programm
Liste der Anhänge anzeigen (Anzahl: 3)
Zitat:
Zitat:
Die Bilder sollen ein wenig den Umfang erkennen lassen. Wichtig war schon immer der remote Zugriff, weil wir zwei Ferienwohnungen haben, und die Heizung entsprechend aktivieren/deaktivieren. -es war von Anfang an Delphi 4 und dann 5 https://www.delphipraxis.net/attachm...1&d=1631727774 https://www.delphipraxis.net/attachm...1&d=1631727774 https://www.delphipraxis.net/attachm...1&d=1631728117 |
AW: Nach Timer.Enable killt sich das Programm
Ich glaube, die Ursache gefunden zu haben.
Die Software läuft nämlich seit Samstag Abend fehlerfrei. Was habe ich geändert? Es gibt 3 Variable, die in der Hauptschleife verändert werden. Hauptschleifencounter, Regel_intervall_ist und Speicherintervall_ist. Alle drei habe ich, zurück wie bisher, auf Integer geändert. Ich hatte sie - fragt nicht was mich geritten hat - auf Shortint geändert, da sie ohnedies nur bis max. 60 zählen. Nachdem ich protokolliere, was ich alles geändert habe, kam ich (während meines Urlaubs) auf die Idee, alle neuen Änderungen der Reihe nach wieder zurückzustellen. Am Samstag abend habe ich dann über den VPN-Zugriff auf meinen PC neu compiliert und die Software auf den Heiz-PC übertragen - seither läuft sie unentwegt. Ich hoffe, dass dies der Fehler gewesen ist, da die weiteren Änderungen die Photovoltaik-Daten und die Heizkessel-Daten betreffen und dort wurden die Schleifen stets korrekt abgearbeitet. Warum ein Shortint zu einem Fehler führt - keine Ahnung, da die Variablen niemals unter 0 oder über 61 gehen. Aber egal - ich schließe den Thread aber noch nicht - wer weiß... Vielen Dank für die Tipps, die immerhin zur Eingrenzung geführt haben :wink: |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
Vielleicht ist das eine Ursache. |
AW: Nach Timer.Enable killt sich das Programm
Mit "killt sich das Programm" ist doch ein Absturz gemeint?
Die Beschreibung hört sich aber jetzt eher nach eine Festhängen in einer Endlosschleife an. Hauptschleifencounter wird bei jedem Aufruf des Timers erhöht, aber scheinbar niemals zurück gesetzt. Natürlich läuft der irgendwann über und wird negativ. Dann dauerrt es natürlich ewig bis der wieder positiv und größer 10 wird. Im Prinzip könnte das auch mit Integer passieren, dauert halt 65000 mal so lange. |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
|
AW: Nach Timer.Enable killt sich das Programm
Liste der Anhänge anzeigen (Anzahl: 3)
Neue Erkenntnisse:
Also die Variablen habe ich vorerst nicht als Verursacher des Absturzes isolieren können. Deshalb habe ich nun den Processmonitor mitlaufen lassen und dabei festgestellt, dass der Absturz ähnlich damit ist, als würde jemand den Menüpunkt "Beenden" klicken. Ähnlich deshalb, weil nach dem Processname 17:56:11 1087389 (CloseFile) noch Dinge geschehen, die beim manuellen "Beenden" vom Monitor nicht aufgezeichnet wurden. Heute um 17:56:11 war es so weit. (siehe Logfile-1.txt) Wenn man das "X" rechts oben klickt, sieht dass Ende des Programms wie in Logfile-2.txt aus und beende ich das Programm mit dem Menüpunkt "Beenden" dann ist es identisch mit dem "X"-Click - siehe "Logfile-3.txt". Resumeé: Beim normalen Beenden des Programms oder dem "X" ist nach 4 Zeilen Schluss mit allem. Verabschiedet sich das Programm, dann werden noch hinterher die Datenbanken geschlossen (Heizdaten.abs und Fehlersuche.abs) wie man sehen kann. Kein Remote-Acccess, der mir einen "Streich" spielen würde: Der "Windows-Remote-Access" ist deaktiviert - auch den "VNC-Access" habe ich deaktiviert. Der Heiz-PC hat in der Cisco-ASA eine Sperre, damit er nicht ins Internet kann - nur NTC wird durchgelassen. Auch passieren keine TCP-Aktivitäten, das würde der Syslog aufzeichnen. Ich blick`nicht durch, was da in der Software vorgeht... https://www.delphipraxis.net/attachm...1&d=1633284152 https://www.delphipraxis.net/attachm...1&d=1633284152 https://www.delphipraxis.net/attachm...1&d=1633284152 |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
Absturz:
Code:
Regulärer Exit:
ReadFile Datenbank.xyz
Thread Exit Process Exit CloseFile Aktueller Ordner CloseFile Datenbank.xyz
Code:
Merkst du den Unterschied? Beim Absturz werden die Dateihandles erst nach dem Beenden des Prozesses automatisch durch Windows aufgeräumt. Beim regulären Beenden macht das Programm das vorher.
ReadFile Datenbank.xyz
CloseFile Datenbank.xyz Thread Exit Process Exit CloseFile Aktueller Ordner Der Fehler könnte beim Zugriff auf die Fehlersuche.abs oder in den Events davor (die hier nicht dabei sind) passiert sein. |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
|
AW: Nach Timer.Enable killt sich das Programm
Liste der Anhänge anzeigen (Anzahl: 2)
Ich finde absolut nichts...
hier sind die letzten 2 Sekunden vor dem Ende "Process Profiling" in Heizung2020.exe ist der Timer, und ist das letzte Ereignis vor dem Absturz. Der Absturz passierte um 17:49:21. vlt. sieht jemand etwas anhand der beiden Logfiles. Logfile6-10-21-a.txt ist nur der Log von Heizung0202.exe, Logfile6-10-21-alles.txt beinhaltet auch die anderen Programme. https://www.delphipraxis.net/attachm...1&d=1633540806 https://www.delphipraxis.net/attachm...1&d=1633540806 |
AW: Nach Timer.Enable killt sich das Programm
Findest Du dazu
Code:
was im Ereignislog?
"17:49:21,6079279","Heizung2020.exe","1016","Process Exit","","SUCCESS","Exit Status: -1073741819, User Time: 1496.0712448 seconds, Kernel Time: 526.5471376 seconds, Private Bytes: 17.899.520, Peak Private Bytes: 22.761.472, Working Set: 21.819.392, Peak Working Set: 26.808.320"
Ansonsten Suchmaschine Deiner Wahl mal mit exit status -1073741819 füttern. Meine behauptet, es gäbe rund 48.300.000 Ergebnissen. Keine Ahnung, wie man das jetzt noch sinnvoll für Deine konkrete Problematik eingrenzen kann. Es scheint aber ein grundsätzliches Problem für diverse Software zu sein, das zuweilen auftreten kann. Hexadezimal entspricht -1073741819 = FFFFFFFFC0000005 Der Betriebssystemhersteller meint dazu: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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