共用方式為


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

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

    /threadon:TID /threadoff:TID

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

  • 您也可以使用 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 應用程式的命令列分析

其他資源

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