Conventions de dénomination spéciales dans le débogueur Visual Studio
Question :
Où puis-je trouver des informations sur les conventions d'affichage spéciales utilisées par le débogueur Visual Studio pour certains types, méthodes, champs et variables locales ?
Réponse :
Remarque sur les détails de mise en œuvre non documentés :
Ces conventions de dénomination sont des détails d'implémentation non documentés du compilateur et peuvent changer sans préavis. Cependant, à des fins pédagogiques, nous fournissons quelques informations basées sur la mise en œuvre actuelle.
Noms spéciaux pour des scènes spécifiques :
-
Variables locales inutilisées/supprimées : Variables commençant par '__Deleted$'.
-
Variable temporaire allouée par le compilateur : CS$X$Y, où X représente le type de la variable temporaire et Y représente le numéro alloué.
Valeur de type variable temporaire :
- 0 : variable temporaire de courte durée
- 1 : Valeur de retour de la variable temporaire
- 2 : Variable temporaire de l'instruction de verrouillage
- 3 : utilisation d'une variable temporaire d'instruction
- 4 : Variables temporaires persistantes
- 5-7 : Variables temporaires liées à la boucle foreach
- 8-264 : Stockage d'index de tableau multidimensionnel
- 264 : Variable temporaire de chaîne fixe
Noms spéciaux supplémentaires pour les constructions générées par des compilateurs spéciaux :
-
L'attribut automatique prend en charge les champs : 'k'
-
Classe de fermeture de méthode anonyme : 'DisplayClass'
-
Champ de type anonyme : 'Champ'
-
Paramètre de type type anonyme : 'TPar'
-
État de l'itérateur : 'state'
Modèle pour générer des noms spéciaux :
Le mode commun est : PC__SI
- P : Pour les instances de délégué et de classe d'affichage mises en cache, utilisez CS$
- N : nom d'origine
- C : Code magique basé sur un scénario (1-s)
- S : suffixe descriptif
- I : Identifiant unique optionnel
Par exemple, une variable locale créée pour la valeur actuelle de l'itérateur serait nommée "PC__current".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn