HOW TO:使用命令列以程式碼剖析工具檢測靜態編譯的 ASP.NET Web 應用程式並收集詳細計時資料
本主題描述如何使用 Visual Studio 程式碼剖析工具命令列工具來檢測預先編譯的 ASP.NET Web 元件或網站,以及收集詳細的執行時間資料。
![]() |
---|
程式碼剖析工具的命令列工具位於 Visual Studio 安裝目錄的 \Team Tools\Performance Tools 子目錄中。在 64 位元電腦上,64 位元和 32 位元版本的工具都可以使用。若要使用分析工具命令列工具,您必須將工具路徑加入至 [命令提示字元] 視窗的 PATH 環境變數,或將它加入至命令本身。如需詳細資訊,請參閱指定程式碼剖析工具命令列工具的路徑。 加入階層互動資料加入至程式碼剖析要求與命令列程式碼剖析工具的特定程序。請參閱 從命令列加入階層互動資料。 |
若要使用檢測方法收集 ASP.NET Web 元件中詳細的執行時間資料,您可以使用 VSInstr.exe 產生元件的已檢測版本。在裝載該元件的電腦上,以檢測過的元件版本取代未經檢測的元件。使用 VSPerfCLREnv.cmd 工具初始化全域程式碼剖析環境變數,然後重新啟動主機電腦。接著啟動程式碼剖析工具。
當執行檢測元件時,時間資料會自動收集至資料檔案。您可以在程式碼剖析工作階段期間暫停和繼續資料收集。
若要結束程式碼剖析工作階段,請關閉裝載元件的 ASP.NET 背景工作處理序,然後明確地關閉程式碼剖析工具。在許多情況下,我們建議在工作階段結尾清除程式碼剖析環境變數。
啟動程式碼剖析
若要檢測 ASP.NET Web 元件並啟動程式碼剖析
開啟 [命令提示字元] 視窗。
使用 VSInstr 工具產生目標應用程式的檢測版本。如有必要,請以檢測過的二進位檔來取代 ASP.NET 主機電腦上的應用程式二進位檔。
初始化 .NET 程式碼剖析環境變數。在 [命令提示字元] 視窗中,輸入:
VSPerfClrEnv /globaltraceon
重新啟動電腦。
開啟 [命令提示字元] 視窗。視需要設定程式碼剖析工具路徑。
啟動程式碼剖析工具。型別:
**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 工作管理員] 的 [處理程序] 索引標籤上的 [使用者名稱] 資料行。
對其他登入工作階段中的處理序啟用程式碼剖析。如果 ASP.NET 應用程式在不同的工作階段中執行,就必須有這個選項。工作階段識別項列於 [Windows 工作管理員] 之 [處理程序] 索引標籤上的 [工作階段 ID] 資料行。/CS 可以當做 /crosssession 的縮寫來指定。
/wincounter:WinCounterPath
指定程式碼剖析期間要收集的 Windows 效能計數器。
/automark:Interval
僅能與 /wincounter 搭配使用。指定 Windows 效能計數器收集事件之間的毫秒數。預設為 500 毫秒。
/events:Config
指定程式碼剖析期間要收集的 Windows 事件追蹤 (ETW) 事件。ETW 事件是在不同的 (.etl) 檔案中收集的。
若要在暫停資料收集的情況下啟動程式碼剖析工具,請將 /globaloff 選項加入至 /start 命令列。使用 /globalon 繼續程式碼剖析。
開啟包含已檢測之元件的網站。
控制資料收集
當目標應用程式正在執行時,您可以使用 VSPerfCmd.exe 選項啟動及停止將資料寫入檔案,以控制資料收集。資料收集控制可讓您收集程式執行中特定組件的資料,例如應用程式的開始與結束。
若要啟動和停止資料收集
下列選項配對會啟動和停止資料收集。在不同的命令列上指定每個選項。您可以多次開啟或關閉資料收集。
選項
描述
啟動 (/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 應用程式,然後使用 Internet Information Services (IIS) IISReset 命令關閉 ASP.NET 背景工作處理序。呼叫 VSPerfCmd/shutdown 選項以關閉程式碼剖析工具並關閉程式碼剖析資料檔案。
VSPerfClrEnv /globaloff 命令會清除程式碼剖析環境變數。您必須重新啟動電腦,才能套用新的環境設定。
若要結束程式碼剖析工作階段
關閉 ASP.NET Web 應用程式。
關閉 ASP.NET 背景工作處理序。型別:
IISReset /stop
關閉程式碼剖析工具。型別:
VSPerfCmd/shutdown
(選擇性)清除程式碼剖析環境變數。型別:
VSPerfCmd/globaloff
重新啟動電腦。