共用方式為


HOW TO:使用命令列以程式碼剖析工具檢測動態編譯的 ASP.NET Web 應用程式並收集詳細計時資料

本主題說明如何使用 Visual Studio 程式碼剖析工具命令列工具,透過檢測程式碼剖析方法收集動態編譯之 ASP.NET 應用程式的詳細執行時間資料。

注意事項注意事項

程式碼剖析工具的命令列工具位於 Visual Studio 安裝目錄的 \Team Tools\Performance Tools 子目錄中。在 64 位元電腦上,64 位元和 32 位元版本的工具都可以使用。若要使用分析工具命令列工具,您必須將工具路徑加入至 [命令提示字元] 視窗的 PATH 環境變數,或將它加入至命令本身。如需詳細資訊,請參閱指定程式碼剖析工具命令列工具的路徑

若要收集 ASP.NET Web 應用程式的效能資料,您可以修改目標應用程式的 web.config 檔案啟用 VSInstr.exe 工具,以檢測動態編譯的應用程式檔案。然後使用 VSPerfCLREnv.cmd 工具在 Web 伺服器上設定適當的環境變數以啟用程式碼剖析,然後重新啟動電腦。

啟動程式碼剖析工具,然後執行目標應用程式。當程式碼剖析工具附加至應用程式時,您可以暫停和繼續資料收集。完成程式碼剖析時,請關閉應用程式、關閉 Internet Information Services (IIS) 背景工作處理序,然後關閉分析工具。完成程式碼剖析工作時,將 web.config 檔案和 Web 伺服器還原為原始狀態。

設定 ASP.NET Web 應用程式和 Web 伺服器

若要設定 ASP.NET Web 應用程式和 Web 伺服器

  1. 修改目標應用程式的 web.config 檔案。請參閱 HOW TO:修改 Web.Config 檔案以檢測並分析動態編譯的 ASP.NET Web 應用程式

  2. 開啟 [命令提示字元] 視窗。

  3. 初始化程式碼剖析環境變數。型別:

    VSPerfClrEnv /globaltraceon

    • /globaltraceon 會使用檢測方法啟用程式碼剖析。
  4. 重新啟動電腦。

執行程式碼剖析工作階段

若要對 Web 應用程式進行程式碼剖析

  1. 開啟 [命令提示字元] 視窗。

  2. 啟動程式碼剖析工具。型別:

    VSPerfCmd /start:trace /output**:**OutputFile[Options]

    • /start:trace 選項會初始化程式碼剖析工具。

    • **/output:**OutputFile 選項必須搭配 /start 使用。OutputFile 指定程式碼剖析資料 (.vsp) 檔案的名稱和位置。

    下列任何選項都可以搭配 /start:trace 選項使用。

    注意事項注意事項

    ASP.NET 應用程式通常需要 /user/crosssession 選項。

    選項

    描述

    /user:[Domain\]UserName

    指定擁有 ASP.NET 背景工作處理序之帳戶的網域和使用者名稱。如果處理序是以非登入使用者的身分執行,就必須使用這個選項。處理序擁有人列於 [Windows 工作管理員] 的 [處理程序] 索引標籤上的 [使用者名稱] 資料行。

    /crosssession

    對其他登入工作階段中的處理序啟用程式碼剖析。如果 ASP.NET 應用程式在不同的工作階段中執行,就必須有這個選項。工作階段識別項列於 [Windows 工作管理員] 之 [處理程序] 索引標籤上的 [工作階段識別碼] 資料行。/CS 可以當做 /crosssession 的縮寫來指定。

    /globaloff

    在暫停資料收集的情況下,啟動程式碼剖析工具。使用 /globalon 繼續程式碼剖析。

    /counter:Config

    從 Config 中指定的處理器效能計數器收集資訊。計數器資訊會加入至每個程式碼剖析事件收集的資料中。

    /wincounter:WinCounterPath

    指定程式碼剖析期間要收集的 Windows 效能計數器。

    /automark:Interval

    僅能與 /wincounter 搭配使用。指定 Windows 效能計數器收集事件之間的毫秒數。預設為 500 毫秒。

    /events:Config

    指定程式碼剖析期間要收集的 Windows 事件追蹤 (ETW) 事件。ETW 事件是在不同的 (.etl) 檔案中收集的。

  3. 以一般方式啟動 ASP.NET Web 應用程式。

控制資料收集

當目標應用程式正在執行時,您可以使用 VSPerfCmd.exe 選項,啟動及停止將資料寫入程式碼剖析工具資料檔案,以控制資料收集。資料收集控制可讓您收集程式執行中特定組件的資料,例如應用程式的開始與結束。

若要啟動和停止資料收集

  • 下列選項配對會啟動和停止資料收集。在不同的命令列上指定每個選項。您可以多次開啟或關閉資料收集。

    選項

    描述

    /globalon /globaloff

    啟動 (/globalon) 或停止 (/globaloff) 所有處理序的資料收集。

    /processon:PID/processoff:PID

    啟動 (/processon) 或停止 (/processoff) 對處理序 ID (PID) 所指定的處理序進行資料收集。

    /threadon:TID/threadoff:TID

    啟動 (/threadon) 或停止 (/threadoff) 對執行緒 ID (TID) 所指定的執行緒進行資料收集。

  • 您也可以使用 VSPerfCmd.exe/mark 選項,將程式碼剖析標記插入資料檔案。/mark 命令會加入識別項、時間戳記和選擇性使用者定義的文字字串。標記可用來篩選程式碼剖析工具報告和資料檢視中的資料。

結束程式碼剖析工作階段

若要結束程式碼剖析工作階段,請關閉目標 ASP.NET Web 應用程式,重設 IIS 以停止進行程式碼剖析的處理序,然後關閉分析工具。

若要結束程式碼剖析工作階段

  1. 關閉 ASP.NET Web 應用程式。

  2. 重設網際網路資訊服務 (IIS) 以關閉 ASP.NET 背景工作處理序。型別:

    IISReset/stop

  3. 關閉程式碼剖析工具。型別:

    VSPerfCmd /shutdown

  4. 重新啟動 IIS。型別:

    IISReset/start

還原應用程式和電腦組態

完成所有程式碼剖析時,請取代 web.config 檔案、清除程式碼剖析環境變數,然後重新啟動電腦,將應用程式和伺服器還原為進行程式碼剖析之前的狀態。

若要還原應用程式和電腦組態

  1. 以原始檔案複本取代 web.config 檔案。

  2. 清除程式碼剖析環境變數。型別:

    VSPerfCmd/globaloff

  3. 重新啟動電腦。

請參閱

概念

ASP.NET Web 應用程式的命令列分析

其他資源

程式碼剖析工具檢測方法資料檢視