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 1 von 2  1 2      
OlafSt

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

Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 10:18
Hallo Freunde,

da der andere Thread mit Kernelbase.DLL eine andere Richtung nimmt, mache ich mal einen neuen für mein Problem auf.

Ich habe hier eine ur-ur-alte Anwendung, die ich von Delphi 5 auf Delphi 2007 "gehoben" habe. Diese zeigt nun seit etwa zwei Wochen ein seltsames Verhalten.

Man startet die Anwendung und läßt sie einfach stehen (egal wo, egal welches Fenster geöffnet ist, selbst der vorgeschaltete Login-Dialog genügt). Nach etwa 7 Minuten verschwindet die Anwendung ohne jede Meldung. Sie wird knallhart aus dem Speicher entfernt, im Taskmanager ist anschließend keine Spur mehr von ihr zu finden.

Im Eventlog findet man einen Eintrag, das die Anwendung wegen eines Fehlers in Kernelbase.DLL geschlossen wurde. Errorcode ist 0xC0000409, Stack Buffer Overrun.

MadExcept ist drin und aktiviert und reagiert überhaupt nicht, weshalb ich die dringende Vermutung habe, das es nicht der Delphi-Code ist. Das schließt Timer-Events und ähnliches aus. Wir haben aber bemerkt, das quasi direkt vor dem Rauswurf unserer Anwendung ein Fast-User-Switch setens Windows 10 vorliegt, können uns da aber keinen rechten Reim drauf machen.

Jemand eine Idee, wo wir ansetzen könnten ?

Geändert von OlafSt (13. Mai 2019 um 10:50 Uhr)
  Mit Zitat antworten Zitat
13. Mai 2019, 10:22
Dieses Thema wurde am "13. May 2019, 10:22 Uhr" von "mkinzler" aus dem Forum "Algorithmen, Datenstrukturen und Klassendesign" in das Forum "Win32/Win64 API (native code)" verschoben.
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 10:32
Zitat:
Im Eventlog
welches?

Zitat:
Jemand eine Idee, wo wir ansetzen könnten ?
Das ist immer schwierig ohne Quelltext als außenstehender zu verstehen bzw. Tip's zu geben.

Ich würde bei den Windows Protokollen ansetzen denn wenn es ein Fehler seitens Windows ist müsste da diesbezüglich etwas stehen.
Verwaltung\Windows Protokolle\Anwendungen

Sonst fällt mir auch nichts ein..
Vielleicht noch die Anwendung wenn möglich hier mal hochladen so das man es selbst mal testen kann.
So kann man zumindest ausschließen wenn es woanders läuft das es an Windows nicht liegt.

gruss
  Mit Zitat antworten Zitat
OlafSt

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

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 10:50
Danke fürs verschieben

Der Eintrag erfolgt in Windows-Protokolle/Anwendung und sieht so aus:

Name der fehlerhaften Anwendung: BlaBla.exe, Version: 2018.1.1.124, Zeitstempel: 0x2a425e19
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.17134.556, Zeitstempel: 0xadca2670
Ausnahmecode: 0xc0000409
Fehleroffset: 0x001118a2
ID des fehlerhaften Prozesses: 0x20ac
Startzeit der fehlerhaften Anwendung: 0x01d5095ee242d808
Pfad der fehlerhaften Anwendung: C:\Bla\BlaBla.exe
Pfad des fehlerhaften Moduls: C:\Windows\System32\KERNELBASE.dll
Berichtskennung: a72c09d0-71e9-466b-a3d4-91a3f9465631
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:

Die Anwendung hochladen wird schwierig. Das sind etwa 550 Formulare und dazu gehören noch etwa 120 DLLs und allein die ganzen Komponenten in Delphi zu installieren wird sich keiner antun wollen Gute 300MB Sourcecode, wird also nicht so recht was
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 10:55
Zitat:
Die Anwendung hochladen wird schwierig.
Ohne irgendwelche Möglichkeiten es selbst zu testen, sorry dann kann ich nicht mehr dazu sagen..
Da hilft wohl nur debuggen, debuggen, debuggen..

Anwendung im Debugmodus starten und warten bis sie sich verabschiedet. Verabschiedet sich die IDE dann liegts wohl an Windows.
Nebenbei hatte ein ähnliches Problem was auch einen Kernelbase Error ausgelöst hat.

Meistens liegt es an irgendwelchen Handles die nicht korrekt freigegeben wurden. (Bei mir war es das Icon Handle)

PS:
Versuche doch mal das CrashDump zu analysieren.. die werden ja nicht umsonst abgelegt.
C:\Users\xxx\AppData\Local\CrashDumps

gruss

Geändert von EWeiss (13. Mai 2019 um 11:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 11:07
Wenn es wirklich am Fast-User-Switching liegt, wird das nicht einfach zu debuggen sein. Vielleicht helfen aber die Hinweise von MS zu diesem Thema das Problem einzugrenzen. Insbesondere da die Anwendung noch aus der Delphi 5 Ära stammt, können da noch gravierende Lücken vorliegen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 20:09
Wenn es wirklich am Fast-User-Switching liegt, wird das nicht einfach zu debuggen sein.
Ich bin ja dumm destotrotz eine Frage noch.
Wenn dem so ist kann man diesen dann nicht mit seiner Anwendung selbst Ausführen\Emulieren oder was sonst noch.
Dann sollte es doch einfach sein das Problem zu lokalisieren.

Keine Ahnung was Fast-User-Switching bewirkt.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

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

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 20:15
Wir haben aber bemerkt, das quasi direkt vor dem Rauswurf unserer Anwendung ein Fast-User-Switch setens Windows 10 vorliegt, können uns da aber keinen rechten Reim drauf machen.
Was heißt das genau? Wie stellt sich das dar bzw. wie genau ist der Ablauf?

Sind alle Compiler-Warnungen bearbeitet? Fehler im Windows werden zwar nach meinem Eindruck häufiger, aber trotzdem glaube ich, dass der Fehler in der Anwendung liegt. Was macht denn die Anwendung, bis sie zum Login-Form gelangt und während selbige sichtbar ist?

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#9

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 21:55
Wenn dem so ist kann man diesen dann nicht mit seiner Anwendung selbst Ausführen\Emulieren oder was sonst noch.
Dann sollte es doch einfach sein das Problem zu lokalisieren.

Keine Ahnung was Fast-User-Switching bewirkt.
Beim Fast-User-Switch wird ein anderer Benutzer angemeldet ohne den aktuellen Benutzer abzumelden. Normalerweise stellt das für laufende Programme kein Problem dar. Allerdings sind gerade alte Programme auf dieses Szenario oft nicht vorbereitet.

Was das Debuggen betrifft, hat man halt das Problem, daß mit dem User-Switch einem auch die IDE unter den Fingern weggezogen wird. Eventuell könnte man von einem anderen System mit Remote-Debugging noch was erreichen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Programm wird einfach geschlossen - Kernelbase.DLL

  Alt 13. Mai 2019, 21:59
@Uwe.. Danke für die Infos.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10: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