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 | None | |
속성 | None | |
캡처 클래스 | 활동 BottomUp |
|
설명 | 전체 프로그램 분석의 상향식 패스를 시작 및 중지할 때 발생합니다. | |
C1_DLL | Type | 활동 |
부모 | FRONT_END_PASS | |
Children | FRONT_END_FILE SYMBOL_NAME TEMPLATE_INSTANTIATION |
|
속성 | None | |
캡처 클래스 | 활동 C1DLL |
|
설명 | c1.dll 또는 c1xx.dll 호출을 시작 및 중지할 때 발생합니다. 이러한 DLL은 컴파일러의 C 및 C++ 프런트 엔드입니다. 컴파일러 드라이버(cl.exe)를 통해서만 호출됩니다. | |
C2_DLL | Type | 활동 |
부모 | BACK_END_PASS LTCG |
|
Children | CODE_GENERATION WHOLE_PROGRAM_ANALYSIS |
|
속성 | None | |
캡처 클래스 | 활동 C2DLL |
|
설명 | c2.dll을 시작 및 중지할 때 발생합니다. 이 DLL은 컴파일러의 백 엔드입니다. 컴파일러 드라이버(cl.exe)를 통해 호출됩니다. 링크 타임 코드 생성을 사용하는 경우 링커(link.exe)를 통해서도 호출됩니다. | |
CODE_GENERATION | Type | 활동 |
부모 | C2_DLL | |
Children | FUNCTION THREAD |
|
속성 | None | |
캡처 클래스 | 활동 CodeGeneration |
|
설명 | 백 엔드의 코드 생성 단계를 시작 및 중지할 때 발생합니다. | |
COMMAND_LINE | Type | 단순 이벤트 |
부모 | COMPILER LINKER |
|
Children | None | |
속성 | - cl.exe 또는 link.exe를 호출하는 데 사용된 명령줄 | |
캡처 클래스 | SimpleEvent CommandLine |
|
설명 | 컴파일러 및 링커가 명령줄 평가를 완료하면 발생합니다. 평가된 명령줄에는 지시 파일을 통해 전달된 모든 cl.exe 및 link.exe 매개 변수가 포함됩니다. 또한 CL, _CL_, LINK 및 _LINK_와 같은 환경 변수를 통해 전달되는 cl.exe 및 link.exe 매개 변수를 포함합니다. | |
COMPILER | Type | 활동 |
부모 | None | |
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 | None | |
속성 | - 환경 변수의 이름 - 환경 변수의 값 |
|
캡처 클래스 | SimpleEvent EnvironmentVariable |
|
설명 | cl.exe 또는 link.exe가 호출될 때 모든 기존 환경 변수에 대해 한 번 발생합니다. | |
EXECUTABLE_IMAGE_OUTPUT | Type | 단순 이벤트 |
부모 | LINKER | |
Children | None | |
속성 | - DLL 또는 실행 파일 출력 파일의 절대 경로 | |
캡처 클래스 | SimpleEvent FileOutput ExecutableImageOutput |
|
설명 | 링커 입력 중 하나가 DLL 또는 실행 가능한 이미지 파일인 경우 발생합니다. | |
EXP_OUTPUT | Type | 단순 이벤트 |
부모 | LINKER | |
Children | None | |
속성 | - .exp 출력 파일의 절대 경로 | |
캡처 클래스 | SimpleEvent FileOutput ExpOutput |
|
설명 | 링커 출력 중 하나가 .exp 파일인 경우 발생합니다. | |
FILE_INPUT | Type | 단순 이벤트 |
부모 | COMPILER LINKER |
|
Children | None | |
속성 | - 입력 파일의 절대 경로 - 입력 파일의 유형 |
|
캡처 클래스 | SimpleEvent FileInput |
|
설명 | cl.exe 또는 link.exe 입력을 발표하기 위해 발생합니다. | |
FORCE_INLINEE | Type | 단순 이벤트 |
부모 | FUNCTION | |
Children | None | |
속성 | - 강제 인라인 함수의 이름 - 중간 명령 수로 표시되는 강제 인라인 함수의 크기 |
|
캡처 클래스 | 활동 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 | None | |
속성 | None | |
캡처 클래스 | SimpleEvent TranslationUnitType HeaderUnit |
|
설명 | 프런트 엔드 전달이 시작될 때 발생하며 헤더 단위 변환 단위가 처리 중임을 나타냅니다. | |
IMP_LIB_OUTPUT | Type | 단순 이벤트 |
부모 | LINKER | |
Children | None | |
속성 | - 가져오기 라이브러리 출력 파일의 절대 경로 | |
캡처 클래스 | SimpleEvent FileOutput ImpLibOutput |
|
설명 | 링커 출력 중 하나가 가져오기 라이브러리인 경우 발생합니다. | |
LIB_OUTPUT | Type | 단순 이벤트 |
부모 | LINKER | |
Children | None | |
속성 | - 정적 라이브러리 출력 파일의 절대 경로 | |
캡처 클래스 | SimpleEvent FileOutput LibOutput |
|
설명 | 링커 출력 중 하나가 정적 라이브러리인 경우 발생합니다. | |
LINKER | Type | 활동 |
부모 | None | |
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 | |
속성 | None | |
캡처 클래스 | 활동 LTCG |
|
설명 | 링크 타임 코드 생성을 시작 및 중지할 때 발생합니다. | |
MODULE | Type | 활동 |
부모 | FRONT_END_PASS | |
Children | None | |
속성 | None | |
캡처 클래스 | SimpleEvent TranslationUnitType 모듈 |
|
설명 | 프런트 엔드 전달이 시작될 때 발생하며 모듈 변환 단위가 처리 중임을 나타냅니다. | |
OBJ_OUTPUT | Type | 단순 이벤트 |
부모 | COMPILER | |
Children | None | |
속성 | - .obj 출력 파일의 절대 경로 | |
캡처 클래스 | SimpleEvent FileOutput ObjOutput |
|
설명 | cl.exe에 의해 생성된 모든 .obj 출력에 대해 한 번 발생합니다. | |
OPT_ICF | Type | 활동 |
부모 | PASS1 | |
Children | None | |
속성 | None | |
캡처 클래스 | 활동 OptICF |
|
설명 | 동일한 COMDAT 접기(/OPT:ICF) 링커 최적화를 시작 및 중지할 때 발생합니다. | |
OPT_LBR | Type | 활동 |
부모 | PASS1 | |
Children | None | |
속성 | None | |
캡처 클래스 | 활동 OptLBR |
|
설명 | 긴 분기(/OPT:LBR) 링커 최적화를 시작 및 중지할 때 발생합니다. | |
OPT_REF | Type | 활동 |
부모 | PASS1 | |
Children | None | |
속성 | None | |
캡처 클래스 | 활동 OptRef |
|
설명 | 참조되지 않은 함수 및 데이터 제거(/OPT:REF) 링커 최적화를 시작 및 중지할 때 발생합니다. | |
PASS1 | Type | 활동 |
부모 | LINKER | |
Children | LTCG OPT_ICF OPT_LBR OPT_REF |
|
속성 | None | |
캡처 클래스 | 활동 Pass1 |
|
설명 | 링커의 패스 1을 시작 및 중지할 때 발생합니다. | |
PASS2 | Type | 활동 |
부모 | LINKER | |
Children | None | |
속성 | None | |
캡처 클래스 | 활동 Pass2 |
|
설명 | 링커의 패스 2를 시작 및 중지할 때 발생합니다. | |
PRECOMPILED_HEADER | Type | 활동 |
부모 | FRONT_END_PASS | |
Children | None | |
속성 | None | |
캡처 클래스 | SimpleEvent TranslationUnitType PrecompiledHeader |
|
설명 | 프런트 엔드 전달이 시작될 때 발생하며 PCH(미리 컴파일된 헤더) 변환 단위가 처리 중임을 나타냅니다. | |
PRE_LTCG_OPT_REF | Type | 활동 |
부모 | PASS1 | |
Children | None | |
속성 | None | |
캡처 클래스 | 활동 PreLTCGOptRef |
|
설명 | 참조되지 않은 함수 및 데이터를 제거하는(/OPT:REF) 링커 최적화 패스를 시작 및 중지할 때 발생합니다. 링크 타임 코드를 생성하기 전에 수행됩니다. | |
SYMBOL_NAME | Type | 단순 이벤트 |
부모 | C1_DLL | |
Children | None | |
속성 | - 형식 키 - 형식의 이름 |
|
캡처 클래스 | 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 | |
속성 | None | |
캡처 클래스 | 활동 스레드 |
|
설명 | 컴파일러 백 엔드 스레드 실행을 시작 및 종료할 때 발생합니다. 스레드 일시 중단은 종료로 간주됩니다. 스레드 해제는 시작으로 간주됩니다. | |
TOP_DOWN | Type | 활동 |
부모 | WHOLE_PROGRAM_ANALYSIS | |
Children | FUNCTION THREAD |
|
속성 | None | |
캡처 클래스 | 활동 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 |
|
속성 | None | |
캡처 클래스 | 활동 WholeProgramAnalysis |
|
설명 | 링크 타임 코드 생성의 전체 프로그램 분석 단계를 시작 및 중지할 때 발생합니다. |