C # - Attribut pour ignorer une méthode lors de la progression en mode débogage

102

Existe-t-il un attribut que je peux utiliser sur une méthode pour que lors de l'exécution d'un code en mode débogage, le débogueur reste à l'extérieur de la méthode?

BuddyJoe
la source

Réponses:

175
 [DebuggerStepThrough]

( docs )

Andrew Rollings
la source
Merci. Je suis un tel "Logger", les compétences du débogueur deviennent rouillées.
BuddyJoe
Qu'en est-il d'un attribut pour une propriété? [DebuggerStepThrough] n'est valide que sur les classes, structures, constructeurs et méthodes
mars
Y a-t-il un inverse de cela? J'ai une classe partielle liée à une classe partielle générée qui a l'attribut [DebuggerStepThrough]. Je veux pouvoir parcourir mon code sans avoir à modifier les propriétés du débogueur de VS.
Mike G
2
Assurez-vous d'ajouterusing System.Diagnostics;
Chad
1
Cela ne passe pas par toute la méthode (comme demandé dans la question), il l'ignore - ainsi le débogueur s'arrête à la première méthode appelée à l'intérieur. Ainsi, [DebuggerStepThrough] n'est utile que pour les très petites méthodes qui ne font aucun autre appel.
13

Sans oublier d'ajouter:

using System.Diagnostics;
Ben
la source
9

Il est écrit <DebuggerStepThrough>en VB.NET .

Pour l'utiliser, il suffit de le mettre au-dessus de la méthode comme:

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