C++ Build Insights SDK: 이벤트 테이블

C++ Build Insights SDK는 Visual Studio 2017 이상과 호환됩니다. 이러한 버전에 대한 설명서를 보려면 이 문서에 대한 Visual Studio 버전 선택기 컨트롤을 Visual Studio 2017 이상으로 설정하세요. 이 페이지의 목차 맨 위에 있습니다.

컴파일러 이벤트

COMPILER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
BACK_END_PASS

컴파일러 프런트 엔드 이벤트

C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
SYMBOL_NAME
MODULE
HEADER_UNIT
PRECOMPILED_HEADER

컴파일러 백 엔드 이벤트

C2_DLL
WHOLE_PROGRAM_ANALYSIS
TOP_DOWN
BOTTOM_UP
CODE_GENERATION
THREAD
FUNCTION
FORCE_INLINEE

링커 이벤트

LINKER
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASS1
PRE_LTCG_OPT_REF
LTCG
OPT_REF
OPT_ICF
OPT_LBR
PASS2

이벤트 테이블

이벤트 속성 설명
BACK_END_PASS Type 활동
부모 COMPILER
Children C2_DLL
속성 - 입력 소스 파일의 절대 경로
- 출력 개체 파일의 절대 경로
캡처 클래스 활동
CompilerPass
BackEndPass
설명 컴파일러 백 엔드 패스를 시작 및 중지할 때 발생합니다. 이 패스는 구문 분석된 C/C++ 소스 코드를 최적화하고 기계어 코드로 변환하는 역할을 담당합니다.
BOTTOM_UP Type 활동
부모 WHOLE_PROGRAM_ANALYSIS
Children 없음
속성 없음
캡처 클래스 활동
BottomUp
설명 전체 프로그램 분석의 상향식 패스를 시작 및 중지할 때 발생합니다.
C1_DLL Type 활동
부모 FRONT_END_PASS
Children FRONT_END_FILE
SYMBOL_NAME
TEMPLATE_INSTANTIATION
속성 없음
캡처 클래스 활동
C1DLL
설명 c1.dll 또는 c1xx.dll 호출을 시작 및 중지할 때 발생합니다. 이러한 DLL은 컴파일러의 C 및 C++ 프런트 엔드입니다. 컴파일러 드라이버(cl.exe)를 통해서만 호출됩니다.
C2_DLL Type 활동
부모 BACK_END_PASS
LTCG
Children CODE_GENERATION
WHOLE_PROGRAM_ANALYSIS
속성 없음
캡처 클래스 활동
C2DLL
설명 c2.dll을 시작 및 중지할 때 발생합니다. 이 DLL은 컴파일러의 백 엔드입니다. 컴파일러 드라이버(cl.exe)를 통해 호출됩니다. 링크 타임 코드 생성을 사용하는 경우 링커(link.exe)를 통해서도 호출됩니다.
CODE_GENERATION Type 활동
부모 C2_DLL
Children FUNCTION
THREAD
속성 없음
캡처 클래스 활동
CodeGeneration
설명 백 엔드의 코드 생성 단계를 시작 및 중지할 때 발생합니다.
COMMAND_LINE Type 단순 이벤트
부모 COMPILER
LINKER
Children 없음
속성 - cl.exe 또는 link.exe를 호출하는 데 사용된 명령줄
캡처 클래스 SimpleEvent
CommandLine
설명 컴파일러 및 링커가 명령줄 평가를 완료하면 발생합니다. 평가된 명령줄에는 지시 파일을 통해 전달된 모든 cl.exelink.exe 매개 변수가 포함됩니다. CL, _CL_, LINK 및 _LINK_와 같은 환경 변수를 통해 전달된 cl.exelink.exe에 대한 매개 변수도 포함됩니다.
COMPILER Type 활동
부모 없음
Children BACK_END_PASS
COMMAND_LINE
ENVIRONMENT_VARIABLE
FILE_INPUT
OBJ_OUTPUT
FRONT_END_PASS
속성 - 컴파일러 버전
- 작업 디렉터리
- 호출된 cl.exe의 절대 경로
캡처 클래스 활동
호출
컴파일러
설명 cl.exe 호출을 시작 및 중지할 때 발생합니다.
ENVIRONMENT_VARIABLE Type 단순 이벤트
부모 COMPILER
LINKER
Children 없음
속성 - 환경 변수의 이름
- 환경 변수의 값
캡처 클래스 SimpleEvent
EnvironmentVariable
설명 cl.exe 또는 link.exe가 호출될 때 모든 기존 환경 변수에 대해 한 번 발생합니다.
EXECUTABLE_IMAGE_OUTPUT Type 단순 이벤트
부모 LINKER
Children 없음
속성 - DLL 또는 실행 파일 출력 파일의 절대 경로
캡처 클래스 SimpleEvent
FileOutput
ExecutableImageOutput
설명 링커 입력 중 하나가 DLL 또는 실행 가능한 이미지 파일인 경우 발생합니다.
EXP_OUTPUT Type 단순 이벤트
부모 LINKER
Children 없음
속성 - .exp 출력 파일의 절대 경로
캡처 클래스 SimpleEvent
FileOutput
ExpOutput
설명 링커 출력 중 하나가 .exp 파일인 경우 발생합니다.
FILE_INPUT Type 단순 이벤트
부모 COMPILER
LINKER
Children 없음
속성 - 입력 파일의 절대 경로
- 입력 파일의 유형
캡처 클래스 SimpleEvent
FileInput
설명 cl.exe 또는 link.exe 입력을 발표하기 위해 발생합니다.
FORCE_INLINEE Type 단순 이벤트
부모 FUNCTION
Children 없음
속성 - 강제 인라인 함수의 이름
- 중간 명령 수로 표시되는 강제 인라인 함수의 크기
캡처 클래스 활동
ForceInlinee
설명 __forceinline 키워드를 통해 함수가 다른 함수에 강제로 인라인될 때 발생합니다.
FRONT_END_FILE Type 활동
부모 C1_DLL
FRONT_END_FILE
Children FRONT_END_FILE
TEMPLATE_INSTANTIATION
속성 - 파일의 절대 경로
캡처 클래스 활동
FrontEndFile
설명 컴파일러 프런트 엔드가 파일 처리를 시작 및 중지할 때 발생합니다. 이 이벤트는 재귀적입니다. 재귀는 프런트 엔드가 포함된 파일을 구문 분석할 때 발생합니다.
FRONT_END_PASS Type 활동
부모 COMPILER
Children C1_DLL
MODULE
HEADER_UNIT
PRECOMPILED_HEADER
속성 - 입력 소스 파일의 절대 경로
- 출력 개체 파일의 절대 경로
캡처 클래스 활동
CompilerPass
FrontEndPass
설명 컴파일러 프런트 엔드 패스를 시작 및 중지할 때 발생합니다. 이 패스는 C/C++ 소스 코드를 구문 분석하고 중간 언어로 변환하는 역할을 담당합니다.
FUNCTION Type 활동
부모 CODE_GENERATION
THREAD
TOP_DOWN
Children FORCE_INLINEE
속성 - 함수의 이름
캡처 클래스 활동
Function
설명 함수에 대한 코드 생성을 시작하고 종료할 때 발생합니다.
HEADER_UNIT Type 활동
부모 FRONT_END_PASS
Children 없음
속성 없음
캡처 클래스 SimpleEvent
TranslationUnitType
HeaderUnit
설명 프런트 엔드 전달이 시작될 때 발생하며 헤더 단위 변환 단위가 처리 중임을 나타냅니다.
IMP_LIB_OUTPUT Type 단순 이벤트
부모 LINKER
Children 없음
속성 - 가져오기 라이브러리 출력 파일의 절대 경로
캡처 클래스 SimpleEvent
FileOutput
ImpLibOutput
설명 링커 출력 중 하나가 가져오기 라이브러리인 경우 발생합니다.
LIB_OUTPUT Type 단순 이벤트
부모 LINKER
Children 없음
속성 - 정적 라이브러리 출력 파일의 절대 경로
캡처 클래스 SimpleEvent
FileOutput
LibOutput
설명 링커 출력 중 하나가 정적 라이브러리인 경우 발생합니다.
LINKER Type 활동
부모 없음
Children COMMAND_LINE
ENVIRONMENT_VARIABLE
EXECUTABLE_IMAGE_OUTPUT
EXP_OUTPUT
FILE_INPUT
IMP_LIB_OUTPUT
LIB_OUTPUT
PASS1
PASS2
속성 - 링커 버전
- 작업 디렉터리
- 호출된 link.exe의 절대 경로
캡처 클래스 활동
호출
링커
설명 link.exe 호출을 시작 및 중지할 때 발생합니다.
LTCG Type 활동
부모 PASS1
Children C2_DLL
속성 없음
캡처 클래스 활동
LTCG
설명 링크 타임 코드 생성을 시작 및 중지할 때 발생합니다.
MODULE Type 활동
부모 FRONT_END_PASS
Children 없음
속성 없음
캡처 클래스 SimpleEvent
TranslationUnitType
모듈
설명 프런트 엔드 전달이 시작될 때 발생하며 모듈 변환 단위가 처리 중임을 나타냅니다.
OBJ_OUTPUT Type 단순 이벤트
부모 COMPILER
Children 없음
속성 - .obj 출력 파일의 절대 경로
캡처 클래스 SimpleEvent
FileOutput
ObjOutput
설명 cl.exe에 의해 생성된 모든 .obj 출력에 대해 한 번 발생합니다.
OPT_ICF Type 활동
부모 PASS1
Children 없음
속성 없음
캡처 클래스 활동
OptICF
설명 동일한 COMDAT 접기(/OPT:ICF) 링커 최적화를 시작 및 중지할 때 발생합니다.
OPT_LBR Type 활동
부모 PASS1
Children 없음
속성 없음
캡처 클래스 활동
OptLBR
설명 긴 분기(/OPT:LBR) 링커 최적화를 시작 및 중지할 때 발생합니다.
OPT_REF Type 활동
부모 PASS1
Children 없음
속성 없음
캡처 클래스 활동
OptRef
설명 참조되지 않은 함수 및 데이터 제거(/OPT:REF) 링커 최적화를 시작 및 중지할 때 발생합니다.
PASS1 Type 활동
부모 LINKER
Children LTCG
OPT_ICF
OPT_LBR
OPT_REF
속성 없음
캡처 클래스 활동
Pass1
설명 링커의 패스 1을 시작 및 중지할 때 발생합니다.
PASS2 Type 활동
부모 LINKER
Children 없음
속성 없음
캡처 클래스 활동
Pass2
설명 링커의 패스 2를 시작 및 중지할 때 발생합니다.
PRECOMPILED_HEADER Type 활동
부모 FRONT_END_PASS
Children 없음
속성 없음
캡처 클래스 SimpleEvent
TranslationUnitType
PrecompiledHeader
설명 프런트 엔드 전달이 시작될 때 발생하며 PCH(미리 컴파일된 헤더) 변환 단위가 처리 중임을 나타냅니다.
PRE_LTCG_OPT_REF Type 활동
부모 PASS1
Children 없음
속성 없음
캡처 클래스 활동
PreLTCGOptRef
설명 참조되지 않은 함수 및 데이터를 제거하는(/OPT:REF) 링커 최적화 패스를 시작 및 중지할 때 발생합니다. 링크 타임 코드를 생성하기 전에 수행됩니다.
SYMBOL_NAME Type 단순 이벤트
부모 C1_DLL
Children 없음
속성 - 형식 키
- 형식의 이름
캡처 클래스 SimpleEvent
SymbolName
설명 프런트 엔드 패스의 끝에서 템플릿 인스턴스화에 관련된 모든 형식에 대해 한 번 발생합니다. 키는 형식에 대한 숫자 식별자이고 이름은 텍스트 표현입니다. 형식 키는 분석 중인 추적 내에서 고유합니다. 그러나 다른 컴파일러 프런트 엔드 패스에서 들어오는 다른 키가 동일한 형식을 가리킬 수 있습니다. 서로 다른 컴파일러 프런트 엔드 패스 간 형식을 비교하려면 이름을 사용해야 합니다. 모든 템플릿 인스턴스화가 발생한 후에는 컴파일러 프런트 엔드 패스의 끝에 SYMBOL_NAME 이벤트가 발생합니다.
TEMPLATE_INSTANTIATION Type 활동
부모 C1_DLL
FRONT_END_FILE
TEMPLATE_INSTANTIATION
Children TEMPLATE_INSTANTIATION
속성 - 특수 형식의 키
- 기본 템플릿 형식의 키
- 인스턴스화된 템플릿의 종류
캡처 클래스 활동
TemplateInstantiation
설명 템플릿 인스턴스화가 시작 및 종료할 때 발생합니다. 기본 템플릿 형식(예: vector)이 인스턴스화되어 특수 형식(예: std::vector<int>)이 생성됩니다. 두 형식 모두에 대한 키가 제공됩니다. SYMBOL_NAME 이벤트를 사용하여 키를 형식 이름으로 변환합니다. 형식 키는 분석 중인 추적 내에서 고유합니다. 그러나 다른 컴파일러 프런트 엔드 패스에서 들어오는 다른 키가 동일한 형식을 가리킬 수 있습니다. 서로 다른 컴파일러 프런트 엔드 패스 간에 형식을 비교하려면 기호 이름을 사용해야 합니다. 이 이벤트는 재귀적입니다. 재귀는 프런트 엔드가 중첩된 템플릿을 인스턴스화하는 경우에 발생합니다.
THREAD Type 활동
부모 CODE_GENERATION
TOP_DOWN
Children FUNCTION
속성 없음
캡처 클래스 활동
스레드
설명 컴파일러 백 엔드 스레드 실행을 시작 및 종료할 때 발생합니다. 스레드 일시 중단은 종료로 간주됩니다. 스레드 해제는 시작으로 간주됩니다.
TOP_DOWN Type 활동
부모 WHOLE_PROGRAM_ANALYSIS
Children FUNCTION
THREAD
속성 없음
캡처 클래스 활동
TopDown
설명 전체 프로그램 분석의 하향식 패스를 시작 및 중지할 때 발생합니다.
TRANSLATION_UNIT_TYPE Type 활동
부모 FRONT_END_PASS
Children MODULE
HEADER_UNIT
PRECOMPILED_HEADER
속성 - 변환 단위의 유형입니다.
캡처 클래스 SimpleEvent
TranslationUnitType
설명 프런트 엔드 패스가 시작할 때 발생합니다. 이 형식은 이 패스가 모듈, 헤더 단위 또는 미리 컴파일된 헤더 중 어떤 것을 처리하고 있는지 식별합니다.
WHOLE_PROGRAM_ANALYSIS Type 활동
부모 C2_DLL
Children BOTTOM_UP
TOP_DOWN
속성 없음
캡처 클래스 활동
WholeProgramAnalysis
설명 링크 타임 코드 생성의 전체 프로그램 분석 단계를 시작 및 중지할 때 발생합니다.