Visual Studio 디버거의 숨겨진 명명 규칙
Visual Studio 디버거는 특정 명명 규칙을 사용하여 "마법의 이름"이라고도 하는 컴파일러 생성 요소를 나타냅니다. 이러한 이름은 일반적인 상황에서는 사용자에게 표시되지 않습니다.
예:
- 'CS$'로 시작하는 사용되지 않는 지역 변수는 숨겨집니다.
- 익명 메소드 유형에는 고유 식별자가 있습니다.
- 자동 속성의 백업 필드는 특별한 패턴을 따릅니다.
명명 규칙 이해
안타깝게도 이러한 명명 규칙은 공개적으로 문서화되지 않았으며 향후 컴파일러 업데이트에서 변경될 수 있습니다. 그러나 우리는 그 구조에 대한 몇 가지 통찰력을 공유할 수 있습니다.
지역변수:
- 사용하지 않는 지역 변수에는 '__Deleted$' 접미사가 표시됩니다.
- 임시 변수의 이름은 'CS$X$Y'이며, 여기서 'X'는 임시 유형을 나타내고 'Y'는 할당된 번호를 나타냅니다.
컴파일러 생성 요소:
- 반복기 상태, 현재 값 및 저장된 매개변수에는 특정 이름이 할당됩니다.
- 클로저 클래스 인스턴스와 익명 메서드 인스턴스에는 고유 식별자가 있습니다.
- 익명 유형 필드와 유형은 사전 정의된 이름 지정 패턴을 사용합니다.
- 자동 속성의 지원 필드는 "BackingField" 규칙을 따릅니다.
생성된 이름 구조:
마법 이름은 일반적으로 "PC__SI" 패턴을 따릅니다.
- 'P'는 캐시된 대리자 및 디스플레이 클래스 인스턴스의 경우 'CS$'입니다
- 'N'은 요소와 연관된 원래 이름입니다
- 'C'는 요소 유형을 나타내는 문자입니다(예: 반복자 상태의 경우 's')
- 'S'는 설명 접미사입니다(예: '현재').
- 'I'는 선택적인 고유번호입니다
위 내용은 Visual Studio 디버거에서 사용되는 숨겨진 명명 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!