it-swarm.com.de

Visual Studio bricht nicht bei vom Benutzer nicht behandelten Ausnahmen ab

Wenn meine App in Visual Studio ausgeführt wird, endet sie mit nicht behandelten Ausnahmen, anstatt ein Meldungsfeld mit den Ausnahmeinformationen anzuzeigen und wie gewohnt fortzufahren.

Welche Optionen muss ich ändern, um das gewohnte Verhalten wiederherzustellen?

Bearbeiten: In Debug/Ausnahmen ist die Option Nicht vom Benutzer behandelt für CLR-Ausnahmen ausgewählt.

43
BVernon

Debug->Exceptions->Check Thrown/User-Unhandled für Common Language Runtime-Ausnahmen

edit: Vielleicht versuch mal einen sauberen/rebuild zu machen, und wieder laufen zu lassen? Vielleicht sind Debug-Symbole beschädigt oder so.

32
Tom Studee

Für Visual Studio 2015:

1.Öffnen Sie das Fenster mit den Ausnahmeeinstellungen (es ist neu in 2015) open Exception settings window (it's new in 2015)

2.Überprüfen Sie alle CLR-Ausnahmen enter image description here

3.Wenn Sie kein Visual Studio benötigen, um bestimmte Ausnahmen auszulösen, deaktivieren Sie dieses Kontrollkästchen enter image description here

25
Rabolf

Je nach Anwendung können folgende Optionen hilfreich sein:

Extras → Optionen ... → Debugging → Allgemein

  • Unterbrechen, wenn Ausnahmen AppDomain oder verwaltete/native Grenzen überschreiten (nur verwaltet)
  • Ausnahmeassistent aktivieren
    • Wickeln Sie den Aufrufstapel bei nicht behandelten Ausnahmen ab
  • Deaktivieren Nur meinen Code aktivieren ← JMC kann verhindern, dass Sie Ausnahmen in Code abfangen, der nicht Ihrem Code entspricht und/oder Symbole fehlen.
20
Sam Harwell

In meinem Fall fehlte beim Aufrufen von Debug -> Exceptions die Spalte ser-unhandled. Gehen Sie zu Debug -> Optionen und Einstellungen und aktivieren Sie Nur meinen Code aktivieren, um dieses Problem zu beheben.

17
Sam

Dies hat es für mich behoben: Geben Sie in der Schnellstartleiste (Strg-Q) "ResetToC #" (oder "ResetTo") ein.

Ich hatte lange das gleiche Problem. Im Menü Debug-> Exceptions fehlte die Spalte "User-unhandled"! Extrem nervig.

Ich habe alle meine Plugins deinstalliert, VS neu installiert, aber nichts funktioniert (Visual Studio hat wahrscheinlich einige Einstellungen auf meinem Computer belassen, die nach der Neuinstallation wiederverwendet wurden).

Dies scheint möglicherweise nicht die beste Lösung zu sein, da es irgendwo eine Einstellung geben muss, die dies ebenfalls getan hätte. Ich konnte es nicht finden und nachdem ich monatelang nicht in der Lage war, von Benutzern nicht behandelte Ausnahmen zu unterbrechen, war die ResetToC # -Option eine Erleichterung.

4

Ich hatte das gleiche Problem in Visual Studio 2013 in einem sehr großen C # -Projekt. Wenn ich jedoch ein neues leeres Projekt erstellte und eine ApplicationException-Testausnahme auslöste, funktionierte alles wie erwartet und der Debugger brach ab und gab mir den Ausnahmeassistenten. Das Gleiche bei meinem vorhandenen Projekt zu tun, würde das Debuggen einfach beenden und zum VS-Bearbeitungsmodus zurückkehren. Mir ist im Fenster "Ausgabe" aufgefallen, dass der letzte Debug-Trace angezeigt wird

Das Programm '[2624] MyApplication.vshost.exe' wurde mit dem Code -1073741819 (0xc0000005) 'Zugriffsverletzung' beendet.

Ich habe nicht wirklich den Luxus, alles in ein neues Projekt zu kopieren, und keiner der obigen Vorschläge hat für mich funktioniert. Durch Ausprobieren habe ich etwas gefunden, das funktioniert: Deaktivieren Sie unter Optionen> Debugging> Allgemein> Aktivieren des Ausnahmeassistenten das Kontrollkästchen "Abwickeln der Anrufliste bei nicht behandelten Ausnahmen".

Übrigens, wenn ich den Aufrufstapel manuell über den Ausnahmeassistenten dazu zwinge, dass er sich in demselben C # -Projekt abwickelt (indem ich auf den Link "Bearbeitung aktivieren" klicke), wird der Debugger nur geschlossen und ich kann nicht mehr bearbeiten und fortfahren. Aber bei einem neuen Projekt funktioniert das Abwickeln und Bearbeiten und Fortfahren einwandfrei! Es gibt also definitiv etwas an meinem Projekt, das VS nicht mag, aber ich werde es vorerst als akzeptablen Workaround verwenden.

3
Nate A

Das einzige was bei mir funktionierte war:

Extras -> Einstellungen importieren und exportieren -> Alle Einstellungen zurücksetzen und anschließend auf C # zurücksetzen.

2
mclaassen

Wenn Ihre Projektmappe mehrere Websiteprojekte enthält, überprüfen Sie, ob das zu debuggende Projekt aktiv ist. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Als Startprojekt festlegen.

Dies hat mich eine Weile überrascht, da es keine offensichtlichen Hinweise darauf gibt, dass die falsche Website getestet wird.

0
mm201

Das Ändern der Zielplattform von x64 auf x86 hat mir geholfen

0