效能工作階段概觀
更新:2007 年 11 月
這個概觀說明程式碼剖析的基本概念。對於是效能工作方面的新手開發人員而言,將會看到 Visual Studio Team System Developer 版程式碼剖析工具可以如何迅速提高他們的生產力,並增加程式碼的效能。而對程式碼剖析頗有經驗的開發人員來說,則可以獲得特定程式碼剖析工具功能和處理過程的概觀。
Visual Studio Team System Developer 版程式碼剖析工具有助於識別原始程式碼中的效能問題,以及比較數個可行的解決方法的效能。程式碼剖析工具的精靈和預設值可以讓您立即切入許多效能問題。程式碼剖析工具的功能和選項提供您對程式碼剖析處理過程的精準控制。這項控制包括精確指出程式碼區段、收集區塊層級的執行時間資訊,以及在您的資料中加入其他的處理器和系統效能資料。
使用程式碼剖析工具的基本處理過程由下列步驟組成:
指定收集方法和要收集的資料,以設定效能工作階段。
在效能工作階段中執行應用程式,以收集程式碼剖析資料。
分析資料以識別效能問題。
在 Visual Studio IDE 中修改程式碼,以增加程式碼的應用程式效能。
對變更過的程式碼收集程式碼剖析資料,並比較原始和變更資料的程式碼剖析資料。
產生用來記錄增加之效能的報告。
若要使用程式碼剖析所提供的資訊,您必須有要剖析的二進位檔以及 Windows 作業系統的二進位檔之符號資訊。
設定效能工作階段
若要設定程式碼剖析工作階段,請選取要使用的程式碼剖析方法以及要收集的資料。程式碼剖析工具 [效能精靈] 可以引導您完成基本的組態設定作業,而且您可以使用 [效能工作階段] 屬性頁加入其他選項。
程式碼剖析方法包括取樣、追蹤和記憶體配置。
資料值包含時間、處理器和作業系統效能計數器,以及應用程式事件,例如分頁錯誤和核心轉換。
您可以在 Visual Studio 專案中,將效能工作階段設定為專案方案的一部分,或透過 Visual Studio IDE 剖析任意二進位檔。您可以在 [效能工作階段] 屬性頁中指定工作階段屬性,或使用程式碼剖析精靈。
收集和程式碼剖析資料
您可以從 [效能總管] 啟動程式碼剖析資料的收集。您可以暫停和繼續分析,以限制資料收集量。您也可以附加至已在執行中的處理序。
只要一啟動應用程式,[資料收集控制] 視窗即會出現在 Visual Studio IDE 中。從 [資料收集控制] 視窗中,藉由暫停和繼續收集處理序,即可以程式碼剖析應用程式的特定部分。您也可以使用 [資料收集控制] 視窗,將標記插入收集到的資料中。標記是使用者定義的資料點,會顯示在程式碼剖析檢視表中,並可以用來篩選程式碼剖析資料。
當目標應用程式關閉時,Visual Studio Team System 程式碼剖析工具會產生程式碼剖析資料檔 (*.vsp),並在 Visual Studio IDE 中顯示 [摘要報告] 檢視表。
分析資料和識別效能問題
結束一個程式碼剖析回合時,就會分析資料並在程式碼剖析工具 [效能報告] 檢視表視窗中顯示摘要。程式碼剖析資料的收集,是針對目標應用程式的呼叫堆疊和個別函式。報告檢視表所顯示的效能分析的資料範圍,包括有應用程式的處理序、執行緒、模組、函式和原始程式碼行。函式的程式碼剖析資料值包括下列項目:
函式和函式呼叫的子函式所花費的整體時間 (內含值)
僅執行函式中的程式碼所花費的時間 (專有值)
有超過 12 種不同的檢視表,可以讓您以最有效的方式分析程式碼剖析資料。而檢視表自訂可以讓您篩選和排序資料,以尋找可能造成效能問題的函式。「最忙碌路徑」篩選功能,則會在 [呼叫樹狀圖] 和 [模組] 檢視表中提供您最活躍的路徑的即時反白顯示。
修改應用程式程式碼
在隔離出一個或多個相關效能問題後,您可以使用 Visual Studio IDE 修改程式碼,然後再收集變更的程式碼剖析資料。
再度收集程式碼剖析資料並比較程式碼剖析回合間的資料
程式碼剖析工具的 [比較報告] 檢視表會顯示兩個選取的程式碼剖析資料檔間,在模組、函式或程式行方面的效能差異。您可以指定要比較的程式碼剖析資料值,並可以在 [比較] 檢視表和個別檔案檢視表之間進行切換。
產生結果報告
您可以將任何效能報告檢視表的資料列貼入電子郵件和試算表中,而且可以產生包含一個或多個檢視表資料的報告。