ホームページ >バックエンド開発 >C++ >Visual Studio デバッガーで使用される非表示の命名規則とは何ですか?

Visual Studio デバッガーで使用される非表示の命名規則とは何ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-13 07:31:42479ブラウズ

What are the Hidden Naming Conventions Used by the Visual Studio Debugger?

Visual Studio デバッガーの非表示の命名規則

Visual Studio デバッガーは、「マジック名」と呼ばれることが多い、コンパイラによって生成された要素を表す特定の命名規則を使用します。これらの名前は、通常の状況ではユーザーには表示されません。

例:

  • 「CS$」で始まる未使用のローカル変数は非表示になります。
  • 匿名メソッドの種類には一意の識別子があります。
  • 自動プロパティのバックアップ フィールドは特別なパターンに従います。

命名規則を理解する

残念ながら、これらの命名規則は公的に文書化されておらず、将来のコンパイラの更新で変更される可能性があります。ただし、その構造についていくつかの洞察を共有できます。

ローカル変数:

  • 未使用のローカル変数には、「__Deleted$」接尾辞が付けられます。
  • 一時変数の名前は「CS$X$Y」です。「X」は一時的なタイプを表し、「Y」は割り当てられた番号を表します。

コンパイラーが生成した要素:

  • イテレータの状態、現在値、保存されたパラメータには特定の名前が割り当てられます。
  • クロージャ クラス インスタンスと匿名メソッド インスタンスには一意の識別子があります。
  • 匿名型のフィールドと型は、事前定義された命名パターンを使用します。
  • 自動プロパティのバッキング フィールドは、「BackingField」規則に従います。

生成された名前構造:

マジック名は通常、「PC__SI」パターンに従います:

  • 'P' は、キャッシュされたデリゲートおよび表示クラス インスタンスの 'CS$' です
  • 「N」は要素に関連付けられた元の名前です
  • 'C' は要素のタイプを示す文字です (例: イテレータのステータスを表す 's')
  • 「S」は説明的な接尾辞です (例: 「current」)
  • 「I」はオプションの一意の番号です

以上がVisual Studio デバッガーで使用される非表示の命名規則とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。