C # - Attribut zum Überspringen einer Methode beim Schritt im Debug-Modus

102

Gibt es ein Attribut, das ich für eine Methode verwenden kann, damit der Debugger beim Durchlaufen eines Codes im Debug-Modus außerhalb der Methode bleibt?

BuddyJoe
quelle

Antworten:

175
 [DebuggerStepThrough]

( docs )

Andrew Rollings
quelle
Vielen Dank. Ich bin so ein "Logger", die Debugger-Fähigkeiten werden rostig.
BuddyJoe
Was ist mit einem Attribut für eine Eigenschaft? [DebuggerStepThrough] gilt nur für Klassen, Strukturen, Konstruktoren und Methoden
Marchy
Gibt es eine Umkehrung davon? Ich habe eine Teilklasse, die mit einer generierten Teilklasse verknüpft ist, die das Attribut [DebuggerStepThrough] hat. Ich möchte in der Lage sein, meinen Code zu durchlaufen, ohne die Debugger-Eigenschaften von VS ändern zu müssen.
Mike G
2
Stellen Sie sicher, hinzuzufügenusing System.Diagnostics;
Chad
1
Dies überschreitet nicht die gesamte Methode (wie in der Frage gestellt), sondern überspringt sie - daher stoppt der Debugger bei der ersten darin aufgerufenen Methode. Daher ist [DebuggerStepThrough] nur für sehr kleine Methoden nützlich, die keine anderen Aufrufe ausführen.
13

Nicht zu vergessen hinzuzufügen:

using System.Diagnostics;
Ben
quelle
9

Es ist <DebuggerStepThrough>in VB.NET geschrieben .

Um es zu verwenden, setzen Sie es einfach wie folgt auf die Methode:

<DebuggerStepThrough>
Private Sub form_Paint(sender As Object, e As PaintEventArgs) Handles form.Paint
     ' Picasso
End Sub
BaSsGaz
quelle