C#/WPF -App, das eine ObjektdisposedException wirft; Warum kann ich keine Stacktrace fangen oder bekommen?

StackOverflow https://stackoverflow.com/questions/7812533

Frage

Ich habe eine C# WPF-UI-App, und wenn ich sie schließe, erhalte ich immer einen Windows-Anwendungsdialog ("Uidemo ist auf ein Problem gestoßen und muss schließen.").

Der Fehlerbericht zeigt an, dass es sich um ein System handelt. Das ist in Ordnung, ich verstehe diesen Teil.

Und ich würde es gerne beheben. Ich kann einfach keinen Stacktrace auf dem Bastard bekommen.

Diese Ausnahme entkämpft alle folgenden folgenden:

  • Mein Dispatcherununhandledexception -Handler
  • Mein Versuch/Fang um den gesamten Inhalt des Ausgangsereignisses handlungsverwaltet umgibt
  • Klicken Sie auf "Debugg" im Windows-Anwendungsdialog
  • Das Ausführen der App in Visualstudios Debug -Modus scheint zu funktionieren, aber seltsamerweise scheint es nicht so zu stürzen, also keine Spur

Alles, was ich tun muss, ist der arkane Inhalt des Fehlerberichts, den Windows an MS senden soll. Diese hexidezimalen Speichermagnungen sind nicht wirklich so nützlich.

Weiß jemand, wie ich diese verdammte Spur bekommen kann?

War es hilfreich?

Lösung

Eine andere Option wäre, diese besondere Ausnahme zu fangen und einen Crash -Dump zu erzeugen, der in Windbg über PSSCOR2 oder SOS analysiert werden könnte. Auf diese Weise können Sie die Stapelspur bewerten.

Debugdiag: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24370

Debugging CLR mit Windbg: http://www.codeproject.com/kb/debug/windbg_part1.aspx

Andere Tipps

Ein Konsolenfenster zeigt alle Ausnahmen mit einer vollständigen Stapelspur. So fügen Sie Ihrer WPF -Anwendung ein Konsolenfenster hinzu:

  1. Gehen Sie die Projekteigenschaften Ihrer WPF -Anwendung.
  2. Wählen Sie die erste Registerkarte "erste (Seite), Application.
  3. Unter Output type auswählen Console Application.
  4. Erstellen und führen Sie Ihre App aus. Es sollte mit einem zusätzlichen Konsolenfenster beginnen. Wenn es abstürzt, sollten Sie die Ausnahme und Stapelspur darin sehen.

Versuchen Sie, einen Versuch/Fang in Ihre Hauptmethode zu machen, nicht um den Ausgangshandler. In WPF ist die Hauptmethode nicht immer einfach zu finden- siehe hier, wie man sie findet: http://joyfulwpf.blogspot.com/2009/05/where-is-main-method-in-my-wpf.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top