2009-04-02 10 views
4

Wir haben eine .NET-Desktop-Anwendung, die in der Produktion abgestürzt ist. Wie diagnostizieren wir den Fehler? Ich möchte den Typ der aufgetretenen Ausnahme, die Fehlermeldung und die Stack-Ablaufverfolgung wissen.Diagnose von CLR-Fehlern in der Windows-Ereignisanzeige

Da die Ausnahme nicht von unserem Code behandelt wurde, erhielten wir die "Diese Anwendung hat ein Problem festgestellt und muss geschlossen werden" Windows-Meldungsfeld. Die einzige Option war Schließen, es gab keine Debug-Schaltfläche.

This MSDN article schlug vor, in der Windows-Ereignisregistrierung zu suchen. Ich habe es, und hier ist die Information im Inneren:

Fehlgeschlagene Anwendung Initect.Server.UI.exe, Version 0.12.9084.90, Zeitstempel 0x49cac472, fehlgeschlagenes Modul KERNEL32.dll, Version 6.0.6001.18000 , Zeitstempel 0x4791a81d, Ausnahmecode 0xe0434f4d, Fehler Offset 0x0002f35f, Prozess-ID 0x44c, Anwendungszeit 0x01c9ada7f320cab0

Wie kann diese infor starten Informationen über den Ausnahmetyp, den Stack-Trace und die Fehlermeldung?

Antwort

1

Diese Information ist nicht genug Sie einen Stack-Trace, Ausnahmetyp, Fehlermeldung zu erhalten, usw.

Sie können Windows-Fehlerberichterstattung konfigurieren (die Sie das Problem zeigte & UI schließen muss) auf Windows Server 2008 um immer eine Dump-Datei zu sammeln, die Sie dann debuggen können. Dies erfordert nicht, dass Sie Visual Studio oder einen anderen Debugger in Ihrer Produktionsumgebung installieren.

http://blogs.technet.com/askperf/archive/2008/02/05/ws2008-windows-error-reporting.aspx zeigt die entsprechenden Registrierungseinstellungen, um dies zu tun.

+0

Dieser Link, den Sie gesendet haben, zeigt mir, wie man Mini-Dumps erzeugt. Was mache ich mit Mini-Dumps? –

+0

Sie können sie in Visual Studio für Post-Mortem-Debugging öffnen. Sie zeigen den Zustand Ihres Prozesses zum Zeitpunkt des Absturzes. – Michael

+0

http://msdn.microsoft.com/en-us/library/d5zhxt22.aspx scheint ein guter Ausgangspunkt zu sein. – Michael

Verwandte Themen