.NET Windows-Dienst stürzt ab, in ntdll.dll

Ich habe einen Windows Service in C# geschrieben. Es abstürzt, wenn es fordert, in ein 3rd-party COM-Komponente. Das problem scheint nur unter Windows 7 (x86 und x64). Wenn ich den gleichen service-code als eine Konsole-Anwendung auf Windows 7 (x86 und x64), funktioniert es einwandfrei.

Wenn ich den gleichen service unter Windows 2003 funktioniert es auch richtig. Ich denke, es könnte im Zusammenhang mit der UAC. Ich bin auf der Suche nach Anregungen/Richtung auf debugging diesen service zu identifizieren, was das problem verursacht. Die debug-Symbole für ntdll.dll? Unten sind die Infos aus dem Ereignisprotokoll.

Ereignis-ID: 1000, Ebene: Fehler

Name der fehlerhaften Anwendung: ServiceHost.exe, version: 1.0.0.0, Zeitstempel: 0x4f87bc9a

Fehlgeschlagenes Modul name: ntdll.dll, version: 6.1.7601.17725, Zeitstempel: 0x4ec49b60

Ausnahmecode: 0xc0000005

Fehleroffset: 0x0002bcbb

Fehlgeschlagene Prozess-id: 0x151c

Fehlgeschlagene Anwendung Startzeit: 0x01cd1939c9017b2d

Fehlgeschlagene Anwendung Pfad: E:\ServiceHost\bin\Debug\ServiceHost.exe

Fehlgeschlagenes Modul Pfad: C:\Windows\SYSTEM32\ntdll.dll

Berichts-Id: 08da6aa3-852d-11e1-a889-00155d016f32

Der HexCode bedeutet Zugriff Verweigert, das ist, warum ich +1 würden @AgentFire. Wenn sein Tipp nicht hilft, müssen Sie einen memory dump zu sammeln, weitere Infos. In Bezug auf die Symbole für die ntdll.dll man kann sich nur die öffentliche, und Sie werden Ihnen nur sagen, den Namen der Funktion, die Sie benötigen, um private-Symbole, um mehr zu entdecken.
Es gibt keine Fehlermeldung "Zugriff verweigert" hier. 0xc0000005 ist Zugriffsverletzung.
Machen Sie ein einfaches Programm, das reproduziert den Fehler und senden Sie es an den 3rd-party-Anbieter

InformationsquelleAutor Phil Bolduc | 2012-04-13

Schreibe einen Kommentar