Hoffentlich hilft Ihnen dieses Handbuch, wenn Sie mit rohen Debugging-Tools irgendwelche Fehler bemerken.
Genehmigt: Fortect
- 5 Minuten zum Lesen.
Eine Ausnahme von dieser Regel besteht darin, auf einen tatsächlichen Fehler hinzuweisen, der auftritt, wenn ein Programm gleichzeitig Eigner ist. Sie können dem Debugger mitteilen, welche Auslassungen oder Ausnahmen er unterbrechen und insbesondere den Debugger unterbrechen soll (dies wird im Debugger als ein einzelner Interrupt betrachtet). Wenn der Debugger fehlschlägt, zeigt er Ihnen an, wo er als generierte Ausnahme erkannt wurde. Sie können auch Ausnahmen entfernen oder empfangen. Wenn die Lösung in Visual Studio geöffnet ist, verwenden Sie > Debugfenster > Ausnahmeoptionen, um das Fenster Ausnahmeoptionen zu öffnen.
Stellen Sie sicher, dass Ihre Handler auf viele wichtige Ausnahmen für Sie reagieren. Wenn Sie es gewohnt sind, Ausnahmehandler zu integrieren, lesen Sie Beheben von Fehlern durch Erstellen von besserem C#-Code . Erfahren Sie auch, wie Sie einen fehlerfreien Debugger einrichten, damit die Ausführung immer anhält, wenn eine Ausnahme platziert wird.
Wenn eine Ausnahme auftritt, erzeugt der Debugger eine entsprechende Ausnahmemeldung an das Ausgabehausfenster. Es kann die Ausführung der kommenden Container abbrechen, wenn:
- Eine Ausnahme wird geworfen und damit tatsächlich behandelt.
- Der Debugger ist so konfiguriert, dass er die Ausführung endgültig anhält, bis der Handler aufgerufen wird.
- Sie haben Just My And-Code konfiguriert, der Debugger ist so optimiert, dass er alle Relegationen verwirft, die nicht in benutzerdefiniertem Code behandelt wurden.
Den Debugger anweisen, anzuhalten, wenn eine Ausnahme auftritt
Wo finde ich die unbehandelte Ausnahmemeldung?
Dieser Fehlertyp wird normalerweise im Microsoft .NET Framework-Fenster angezeigt, sodass er normalerweise angezeigt wird, wenn Sie sich auf diesem Computer bewegen. Hier ist die vollständige Struktur der Fehlermeldung: „In Ihrer Anfrage wurde eine unbehandelte Ausnahme ausgelöst. Wenn jemand auf die Hauptschaltfläche Weiter klickt, wird die Anwendung definitiv alle Fehler ignorieren und versuchen, fortzufahren.
Der Debugger verlangsamt sich, wenn undAusnahmen. Sie können auch auf Ausnahmen prüfen, bevor Sie den Handler sehr oft aufrufen.
Erweitern Sie im Fenster Ausnahmen (Debug> Windows> Ausnahmeeinstellungen) den größten Teil des Knotens für eine Ausnahme zu dieser Kategorie, z.B. CLR-Ausnahmen. Aktivieren Sie dann dieses ausgezeichnete Kontrollkästchen für eine bestimmte Ausnahme direkt nach welcher Kategorie, z.B. System.AccessViolationException. Es besteht die Möglichkeit, dass Sie in Bezug auf Auslassungen viel zu eine ganze Kategorie auswählen.
Wenn Sie normalerweise im Fenster “Ausnahmeoptionen” eine Ausnahme auswählen, wird der Debugger praktisch anhalten, wenn eine Ausnahme ausgelöst wird, unabhängig von Tipps zur Handhabung. Die Ausnahme wird jetzt als erste Chance-Ausnahme bezeichnet. Einige der Skripte sind beispielsweise:
-
How deaktiviere ich nicht behandelte Ausnahmen?
Nach der C#-Konsolenanwendung löst die Main-Methode eine AccessViolationException in einem
aus, den Sie versuchen / fangen sollten
-Block.Wie kann ich brechen eine Ausnahme in Visual Studio?
statisches Nullsetzen Main (line [] args) Versuchen Werfen Sie eine echte neue AccessViolationException (); Console.WriteLine ("hier"); netto (Ausnahme e) Console.WriteLine ("Ausnahme aufgetreten"); Console.WriteLine ("Auf Wiedersehen");
Wenn Sie sich AccessViolationException in den Ausnahmeparametern angesehen haben, wird die Ausführung immer an dem Abschnitt
throw
abgebrochen, der mit der Zeile verknüpft ist, wenn Sie diesen Code den gesamten Debugger durchlaufen. An dieser Stelle können Sie mit der Ausführung fortfahren. Letztendlich sollte die Konsole fraglos die Zeilen anzeigen:Ausnahme
erwischtAuf Wiedersehen
aber nie wird die gesamte
Zeile hier
dargestellt. -
Is das gesamte fortfahren, wenn nicht behandelt “Option in Visual Studio deaktiviert?
Die Wirkung hängt von den Ausschlusseinstellungen ab, insbesondere von der Option “Weiter, wenn nicht verarbeitet”, die für die meisten Ausschlüsse standardmäßig deaktiviert ist und “Ausnahme” einführt. Daher ist das Verhalten korrekt und die spezifische Visual Studio-Dokumentation stimmt damit überein.
Die C#-Konsolenanwendung referenziert eine Bibliotheksklasse auf Klasse a, die die Methoden aus Motion 2 enthält. Eine Methode löst eine Ausnahme vom Regeltyp aus, und die Die zweite Methode löst dieselbe Ausnahme aus, ist aber nicht dafür verantwortlich.
öffentliche Klasse Class1 für die Öffentlichkeit zugänglich vermeiden ThrowHandledException () Versuchen Werfen Sie eine neue AccessViolationException (); Betrug (AccessViolationException ave) Console.WriteLine ("Ausnahme abgefangen" + ave.Message); shared public void ThrowUnhandledException () eine neue Ausnahme einschließen AccessViolationException ();
Dies ist die spezielle Main()-Methode der ECU-Anwendung:
static void Main (string [] args) Klasse1 Klasse1 = neue Klasse1 (); class1.ThrowHandledException (); class1.ThrowUnhandledException ();
Wenn AccessViolationException in den Parametern Ihrer Ausnahme enthalten ist, wird die Ausführung dauerhaft abgebrochen bei der Zeile
throw
in ThrowHandledException () oder ThrowUnhandledException (), wenn Sie den Debugger-Code erneut ausführen .
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
Um die Differenzeinstellungen auf Null auf die Standardwerte zurückzusetzen, klicken Sie auf die Schaltfläche “Marketing-E-Mail-Liste auf Standardtemperaturen wiederherstellen”:
Den Debugger anweisen, mit nicht behandelten Ausnahmen fortzufahren
Wenn ein Experte .NET- oder JavaScript-Standards mit My just code debuggt, können Sie den perfekten Debugger angeben, um nicht alle Auslassungen zu brechen, die im Benutzercode leider nicht behandelt werden an andere Behörden, um mit ihnen Geschäfte zu machen.
p>
-
Öffnen Sie in den Einstellungen für die Verdichtungsausnahme das Kontextmenü, indem Sie mit der rechten Maustaste auf die eigentliche Spaltenbeschriftung klicken und Spalten anzeigen> Weitere Aktionen auswählen. (Wenn Sie sich Just Code nähern, wird dieser einmalige Befehl nicht angezeigt.) Die dritte Spalte trägt den Titel Zusätzliche anzuzeigende Aktionen.
Wenn es in dieser Zeile ein anderes gibt, das “Weiter” sagt, wenn Sie Ihr nicht verwalteter Benutzer in Ihrem Code sind, wird der Debugger zweifellos fortgesetzt, wenn dies der Unterschied ist äußerlich.
-
Um diese Einstellung für eine einzelne Ausnahme zu ändern, wählen Sie die Ausnahme aus, klicken Sie mit der rechten Maustaste, um das Umstandsmenü anzuzeigen, und wählen Sie Weiter, wenn benutzerdefinierter Code sie tatsächlich nicht behandelt. Sie können auch die Einstellung für alle Ausnahmen ändern, z.B. alle erkennbaren Language Runtime-Ausnahmen).
Zum Beispiel behandeln ASP.NET-Webhandler Ausnahmen und übersetzen sie alle in einen großartigen HTTP 500-Statusaustausch ( Ausnahmebehandlung für ASP.NET-Web-APIs ). die Quelle. Sie können verschiedene definieren. Im folgenden Beispiel ruft das Mann- oder Frau-System String to.Format()
auf, was eine FormatException auslöst. Die Ausführung wird wie folgt unterbrochen:
Ausnahmen hinzufügen und entfernen
Sie können Ausnahmen hinzufügen und auch entfernen. Um einen Ausnahmetyp von dieser Regel aus jeder Kategorie zu entfernen, wählen Sie den Ausschluss aus und bevorzugen diesen bestimmten Ausschluss mithilfe des Funktionssymbols (Minuszeichen) auf den LöschenAusschlussparameter hinzufügen “. Sie können oder können mit der rechten Maustaste auf die Ausnahme klicken und Löschen aus dem Menü aufrufen Schritt-für-Schritt-Menü. Das Löschen der Auslassung hat den gleichen Effekt wie das Deaktivieren der anderen, dh es verhindert, dass der Debugger beim zweiten Durchlauf abstürzt.
-
Wählen Sie eine der Ausnahmen im Fenster “Exception Settings” (für Kategorien wie hauptsächlich Common Language Runtime).
-
Klicken Sie auf die Schaltfläche Sonstiges zur ausgewählten Kategorie hinzufügen (Pluszeichen).
-
Geben Sie einen Ausnahmenamen über dieser Regel ein (z.B. System.UriTemplateMatchException).
Die Ausnahme wird einer heißen alphabetischen Liste (in der Reihenfolge) hinzugefügt und leicht überprüft.
Um eine Ausnahme zu GPU-Speicherzugriffsbedingungen, JavaScript-Laufzeitausnahmen oder Win32-Ausnahmekategorien hinzuzufügen, integrieren Sie einen Fehlercode und eine Beschreibung.
Wie erhalte ich rid at unhandled Exception in Visual Studio?
Ausnahmeeinstellungen werden in der Lösungsdatei gespeichert, sodass sie für eine bestimmte Lösung gelten. Sie können nicht über alle Strategien hinweg regelspezifische Ausnahmen von diesen Einstellungen vornehmen. Jetzt werden nur noch die Gruppierungen gespeichert. ovale Ausnahmen; verdeckte Ausnahmen sind es nicht. Sie können einen Unterschied hinzufügen, die Lösung schließen und erneut öffnen, und die Auslassung bleibt bestehen. Wenn Sie jedoch eine wirksame Ausnahme entfernen und die Alternative schließen / erneut öffnen, werden die anderen wieder angezeigt.
Das Fenster “Ausnahmeeinstellungen” unterstützt die generischen Ausnahmetypen in Visual Basic in C#, jedoch nicht dort. Um die MyNamespace like.GenericException
Krankheiten zu verletzen, müssen Sie eine als MyNamespace.GenericException`1 verfügbare Ausnahme hinzufügen. Mit anderen Worten, wenn Sie eine angenehme Ausnahme wie Code erstellen:
veröffentlicht diese Kategorie GenericException : Exception public GenericException (): base ("Dies ist eine generische Ausnahme.")
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.