AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Programm wird einfach geschlossen - Kernelbase.DLL
Thema durchsuchen
Ansicht
Themen-Optionen

Programm wird einfach geschlossen - Kernelbase.DLL

Ein Thema von OlafSt · begonnen am 13. Mai 2019 · letzter Beitrag vom 14. Mai 2019
Antwort Antwort
Seite 2 von 2     12   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 22:08
Hallo,
hier hilft doch nur ein extensives Loggen (Textdatei oder Netzwerk).
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 14. Mai 2019, 07:04
Ich bin mir da nicht so sicher, ob Logging helfen würde. Denn wenn das selbst von MadExcept nicht gefunden wird...
Deshalb wäre das für mich das letzte Mittel angesichts des Aufwands.

Ich würde es einmal mit Eurekalog versuchen. Das hat bei uns mehr abgefangen.

Und dann macht es Sinn aus den Debuginformationen .dbg Dateien für Windows zu erstellen, damit Windows auch richtige Stacktraces schreiben kann. Dazu sollten Dumps für Crashes aktiviert werden, damit Stacktraces und weitere Informationen auch geschrieben werden:
https://docs.microsoft.com/en-us/win...ser-mode-dumps
Zumindest solltest du so Speicheradressen bekommen, an denen du nachschauen kannst.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
OlafSt

Registriert seit: 2. Mär 2007
Ort: Hamburg
284 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 14. Mai 2019, 11:35
Vielen Dank für die vielen Anregungen und Ideen !

Um die gestellte Frage zu beantworten: Das Programm startet, liest ein paar Daten aus einer INI-Datei (TMemIniFile). Dann wird eine Verbindung zur Datenbank hergestellt und ein paar Fenster im Hintergrund werden erzeugt. Anschließend kommt der Login-Dialog, der auf eine Reaktion wartet. Etwa 7 Minuten später macht es ZAPP und die Anwendung ist weg.

Bitte nicht mosern, das man die Fenster auch nach dem Login-Dialog erzeugen könnte... Ich hab den Mist nicht verzapft, bin erst seit eineinhalb Jahren damit beschäftigt, den z.T. heftigen Unsinn da geradezubiegen...

Ob es wirklich am Fast-User-Switching liegt, wissen wir noch nicht. Aber es ist uns aufgefallen, das dies im Eventlog anhand des Timestamps quasi direkt vor dem Stack Overrun unserer Anwendung erfolgt. Remote Debugging ist etwas kompliziert, denn D2007 hat sowas noch nicht. Aber ein Blick auf Eurekalog kann nicht schaden und auch den Weg der DBG-Files werden wir versuchen zu verfolgen. Ist nur die Frage, wie man D2007 dazu bringt, sowas zu erzeugen ?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 14. Mai 2019, 11:57
Remote Debugging ist etwas kompliziert, denn D2007 hat sowas noch nicht.
Ohne jetzt Delphi 2007 direkt vor mir zu haben, aber wenn mich meine Erinnerung nicht täuscht, dann gab es das damals schon.


EDIT: Ja, das gab es damals schon
http://docs.embarcadero.com/products...oteov_xml.html

Geändert von TiGü (14. Mai 2019 um 12:03 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#15

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 14. Mai 2019, 12:34
Ging schon mindestens seit Delphi 7.

Eine Anleitung dazu oder zumindest ein hilfreicher Text? Remote Debugger
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#16

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 14. Mai 2019, 19:55
Dann wird eine Verbindung zur Datenbank hergestellt und ein paar Fenster im Hintergrund werden erzeugt. Anschließend kommt der Login-Dialog, der auf eine Reaktion wartet. Etwa 7 Minuten später macht es ZAPP und die Anwendung ist weg.
Und was machen die erzeugten Forms in dieser Zeit? Irgendein Timer aktiv? Reagieren sie auf Windows Messages?

Eine Anwendung, die nichts tut, sollte nicht abstürzen. Daher denke ich, dass die Anwendung irgendetwas tut. Denkbar ist z.B. die regelmäßige Anforderung von Speicher/Ressourcen (ohne Freigabe dieser), was irgendwann zur Erschöpfung irgendwelcher Ressourcen führt.

Zitat:
Ob es wirklich am Fast-User-Switching liegt, wissen wir noch nicht. Aber es ist uns aufgefallen, das dies im Eventlog anhand des Timestamps quasi direkt vor dem Stack Overrun unserer Anwendung erfolgt.
Löst die Anwendung denn den Fast User Switch aus? Bisher habe ich deine Ausführungen so verstanden, dass nur zufällig zum gleichen Zeitpunkt zwei verschiedene Dinge - Beendigung der Anwendung und Fast User Switch - passieren.

Ist das Verhalten der Anwendung auf einem anderen System und/oder anderen Windows(-Version) nachvollziehbar?

Grüße
Dalai
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 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