共用方式為


啟動和附加免登錄的程式碼剖析工具

從 .NET Framework 4 版開始,您就可以在應用程式啟動時 (啟動載入) 以及當應用程式正在執行時 (附加載入),附加程式碼剖析工具。 這兩個選項都可讓您啟動尚未註冊為 COM 元件的程式碼剖析工具。

這兩個方法會使用不同的通訊協定來啟動程式碼剖析工具,而且將於下列各節詳細討論。

啟動載入程式碼剖析工具

啟動載入程式碼剖析工具是在即將進行程式碼剖析的應用程式啟動時載入。 在 .NET Framework 4 之前,啟動載入是載入程式碼剖析工具的唯一方式。 程式碼剖析工具必須進行註冊,而且它是透過下列環境變數的值找出的:

  • COR_ENABLE_PROFILING=1

  • COR_PROFILER={<程式碼剖析工具的 CLSID>}

Common Language Runtime (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,藉以嘗試找出程式碼剖析工具。

請參閱

概念

分析概觀

其他資源

分析 (Unmanaged API 參考)

Unmanaged API 參考