Question

Dans Delphi les directives du compilateur {$ d-} et {$} vous permettent L- d'éviter efficacement la génération de débogage et d'information variable locale pour une section définie de code.

Dans une pratique qui a pour effet de « cacher » le code de la vue de débogage, il ne semble pas dans la pile d'appels et vous ne marchez pas dans ce pendant le débogage.

Est-il possible d'obtenir le même résultat en c # en utilisant VS 2008?

Note: La raison est que nous avons un cadre stable qui n'a pas besoin d'être débogué mais ont tendance à gâcher avec la pile d'appel et avec le flux de débogage standard.

Était-ce utile?

La solution

J'utiliser DebuggerNonUserCodeAttribute pour vous par défaut ne pas casser ou pas dans le code; Cependant, le benifit à ce sur DebuggerStepThrough est que vous pouvez aller à la Options-> Debugger-> Juste paramètre Mon code et permet à la rupture / débogage du code que vous avez marqué. Cela aide beaucoup si vous avez des problèmes. Je l'utilise généralement sur des classes entières.

BTW, la pile d'appel cachera automatiquement le code non-utilisateur comme indiqué avec cet attribut :) Bien sûr, vous pouvez simplement un clic droit de la fenêtre de la pile d'appel et bascule « Afficher le code externe » pour masquer / afficher les informations de la pile manquante.

Autres conseils

Je pense que vous voulez que l'attribut DebuggerStepThrough :

DebuggerStepThrough charge le débogueur à pas à travers le code au lieu de monter dans le code.

[DebuggerStepThrough]
public void MyMethod()
{

}

Ceci est particulièrement utile pour les setters / getters depuis le débogage dans les ajoute généralement juste du bruit (par exemple de msdn):

public int Quantity
{ 
    [DebuggerStepThrough] 
    get { return ComplexLogicConvertedToMethod(); } 
    [DebuggerStepThrough]      
    set { this.quantity = value ; }
}

Ou sauter une section spécifique du code:

... some production code
#if DEBUG
    Console.WriteLine("Debug version");
#endif
... some more production code
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top