it-swarm.com.de

Nicht näher erläuterte Abstürze im Zusammenhang mit ntdll.dll

Ich habe eine Anwendung, die ich geschrieben habe und die zeitweilig abstürzt, aber ich kann keine Ausnahme auf der Anwendungsebene erfassen. Ich bekomme immer einen Eintrag im Ereignisprotokoll, gibt mir aber nicht viele Informationen:

Faulting application name: BCS-UI.exe, version: 1.0.11.0, time stamp: 0x5c0edcbd
Faulting module name: ntdll.dll, version: 10.0.17134.376, time stamp: 0x4358e406
Exception code: 0xc0000374
Fault offset: 0x000d8829
Faulting process id: 0x39b0
Faulting application start time: 0x01d49161c80079a0
Faulting application path: C:\Gogs Local\SMR_Windows_UI\BCS-UI\BCS-UI\bin\Release\BCS-UI.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 1fbc4761-d256-44b0-99b0-4d9d758e4fe0
Faulting package full name: 
Faulting package-relative application ID: 

    - System 

  - Provider 

   [ Name]  Application Error 

  - EventID 1000 

   [ Qualifiers]  0 

   Level 2 

   Task 100 

   Keywords 0x80000000000000 

  - TimeCreated 

   [ SystemTime]  2018-12-11T15:12:28.109191000Z 

   EventRecordID 23318 

   Channel Application 

   Computer Leviathan 

   Security 


- EventData 

   BCS-UI.exe 
   1.0.11.0 
   5c0edcbd 
   ntdll.dll 
   10.0.17134.376 
   4358e406 
   c0000374 
   000d8829 
   39b0 
   01d49161c80079a0 
   C:\Gogs Local\SMR_Windows_UI\BCS-UI\BCS-UI\bin\Release\BCS-UI.exe 
   C:\WINDOWS\SYSTEM32\ntdll.dll 
   1fbc4761-d256-44b0-99b0-4d9d758e4fe0 

Wie Sie sehen, bekomme ich das: 

Fehlerhafter Modulpfad: C:\WINDOWS\SYSTEM32\ntdll.dll. 

Ich bin nicht sicher, was das ist oder wie es mit den Abstürzen zusammenhängt, aber ich konnte es auf mehreren Computern reproduzieren und weiß nicht, wie ich die Ursache ermitteln oder verhindern kann. 

Update: Ich habe einen Punkt erreicht, an dem die Anwendung beim Start mit dem oben genannten Grund abstürzt. Es kommt zum Ende des MainWindow-Konstruktors (es ist eine WPF-Anwendung), sitzt dort etwa 10 Sekunden lang auf einem weißen Bildschirm und stirbt dann ab. Ich habe auf ältere Versionen der Software zurückgegriffen und dieses Verhalten reproduziert. Ich habe es auch auf einen anderen Computer verschoben und habe dieses Verhalten NICHT gesehen, daher stimmt meine derzeitige Theorie mit dem in den Kommentaren Gesagten überein - dass etwas den Heap beschädigt hat und erst nach einem Neustart gelöscht wird. 

Update 2: Ich kann diese Fehlermeldung erzeugen, wenn ich außerhalb des Debuggers laufe. Wenn ich jedoch im Debugger laufe, kann ich nicht mit einer Ausnahme aufhören:

in GDI + ist ein generischer Fehler aufgetreten

So werde ich heute jagen. Interessant und beunruhigend ist, dass die App bei jedem Start abstürzt, selbst nach dem Neustart. Das gleiche Verhalten tritt zu diesem Zeitpunkt auf anderen Computern nicht auf.

2
Jesse Roper

Um diese Art von systeminternen Problemen zu debuggen, empfehle ich Ihnen Process monitor .

Process Monitor ist ein erweitertes Überwachungstool für Windows, das Echtzeit-Dateisystem-, Registrierungs- und Prozess-/Thread-Aktivitäten anzeigt.

enter image description here

Grundsätzlich müssen Sie nach "NAME NOT FOUND" -Fehlern Ausschau halten, d. H. Fehlende DLLs oder Registrierungsschlüssel oder andere verdächtige Fehler auf dem Bildschirm. 

4
Zhao Hainan

Das letzte Mal, als ich einen ähnlichen Absturz in meiner App hatte, der auf ntdll.dll als fehlerhaftes Modul hinweist, war die Realität, dass mein eigener Code einen Speicherverlust hatte. Ich habe einen Strcpy auf einer Zeichenfolge gemacht, die keinen Speicher zugewiesen hat. So etwas wie,

char * str;
strcpy(str, "Hello");

Ich fand das nach einem anstrengenden Durchgang meines Codes. 

Überprüfen Sie Ihren Code auf Lecks.

1
Viddo