다음을 통해 공유


등록이 필요 없는 프로파일러 시작 및 연결

.NET Framework 버전 4부터는 프로파일러를 응용 프로그램 시작 시에 연결(시작 로드)하거나 응용 프로그램 실행 중에 연결(연결 로드)할 수 있습니다. 두 옵션에서는 COM 구성 요소로 등록되지 않은 프로파일러를 시작할 수 있는 기능을 제공합니다.

이러한 두 가지 방법은 프로파일러 시작을 위한 여러 프로토콜을 사용합니다. 두 방법에 대해서는 다음 단원에서 설명합니다.

시작 로드 프로파일러

시작 로드 프로파일러는 프로파일링 대상 응용 프로그램이 시작할 때 로드됩니다. .NET Framework 4 이전에는 프로파일러를 로드하기 위한 유일한 방법이 시작 로드였습니다. 프로파일러는 다음 환경 변수 값을 통해 등록되어 있어야 하며 찾을 수 있었습니다.

  • COR_ENABLE_PROFILING=1

  • COR_PROFILER={프로파일러의 CLSID}

CLR(공용 언어 런타임)은 COR_PROFILER를 통해 CLSID를 사용하여 레지스트리의 HKEY_CLASSES_ROOT에서 프로파일러를 찾았습니다.

.NET Framework 4부터는 이전과 마찬가지로 프로파일러를 등록할 수 있지만 등록 조회 이전에 또 다른 환경 변수가 확인됩니다.

  • COR_PROFILER_PATH=프로파일러 DLL의 전체 경로

COR_PROFILER_PATH가 있는 경우 프로파일러를 찾는 데 해당 값이 사용되고, 등록 조회는 생략됩니다.

참고:

  • COR_PROFILER_PATH는 선택적입니다. COR_PROFILER_PATH를 지정하지 않으면 레지스트리에서 경로를 찾는 데 프로파일러의 CLSID가 사용됩니다.

  • COR_PROFILER_PATH를 지정하고 프로파일러를 등록한 경우에는 COR_PROFILER_PATH를 우선 참조합니다. COR_PROFILER_PATH가 잘못된 경로를 가리키면 프로파일러가 등록되어 있어도 프로파일러를 로드하지 못합니다.

  • COR_PROFILER는 항상 지정해야 합니다. COR_PROFILER_PATH를 지정한 경우 레지스트리 조회는 생략되지만, CreateInstance를 호출하려면 COR_PROFILER를 통해 CLSID를 가져와야 합니다.

연결 로드 프로파일러

.NET Framework 4부터는 실행 중인 응용 프로그램에 프로파일러를 연결할 수 있습니다. 이 기능에 대한 자세한 내용은 프로파일러 연결 및 분리를 참조하십시오. 연결 로드 프로파일러에서는 ICLRProfiling::AttachProfiler 메서드의 wszProfilerPath 매개 변수를 사용하여 프로파일러 DLL 파일의 위치를 검색합니다. wszProfilerPath가 null인 경우 런타임에서는 pClsidProfiler 매개 변수에 지정된 CLSID를 레지스트리에서 조회하여 프로파일러를 찾으려고 합니다.

참고 항목

개념

프로파일링 개요

기타 리소스

프로파일링(관리되지 않는 API 참조)

관리되지 않는 API 참조