收集 .NET 記憶體配置和存留期資料
Visual Studio 程式碼剖析工具支援 .NET 記憶體配置和物件存留期資料的收集,可協助您偵測應用程式中記憶體相關的效能問題。
有關 .NET 記憶體配置的資料包括配置的 .NET Framework 記憶體物件大小和數量。
物件存留期資料包括在三代記憶體回收中回收的 .NET Framework 記憶體物件大小和數量。
需求
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
注意事項 |
---|
在 Windows 8 中的增強的安全性功能和 Windows Server 2012 要求 Visual Studio 分析工具會收集這些平台之資料的方式有重大的變更。Windows 存放區應用程式也需要新的技術。請參閱 剖析 Windows 8 和 Windows Server 2012 應用程式。 |
您可以使用取樣或檢測程式碼剖析方法收集資料。
使用取樣方法時,程式碼剖析工具會追蹤啟動或附加的程序所產生的所有 .NET 記憶體配置和物件。
使用檢測方法時,程式碼剖析工具只會追蹤檢測模組所產生的 .NET 記憶體配置和物件。
重要
當您利用取樣方法收集 .NET 記憶體資料 (配置、物件存留期或兩者) 時,會忽略所有使用者指定的取樣事件,並且使用適當的記憶體配置事件收集資料。
如果您啟用 .NET 記憶體配置的程式碼剖析,會同時啟用 [配置檢視]。 如果您啟用 .NET 存留期資料的程式碼剖析,則會同時啟用 [物件存留期檢視]。 如需詳細資訊,請參閱.NET 記憶體配置檢視與物件存留期檢視。
如需如何使用程式碼剖析工具命令列工具收集 .NET 記憶體資料的詳細資訊,請參閱從命令列使用程式碼剖析方法收集效能資料中的<使用 .NET 記憶體方法收集記憶體配置和物件存留期資料>。
若要收集 .NET 記憶體資料
在 [效能總管] 中,以滑鼠右鍵按一下 [效能工作階段],然後按一下 [屬性]。
在 效能工作階段[屬性頁 ] 對話方塊中,按一下 [一般] 索引標籤,並選取 [收集 .NET 物件配置資訊] 核取方塊。
若要收集 .NET 物件存留期資料,請選取 [同時收集 .NET 物件存留期的資訊] 核取方塊。
一般工作
您可以在效能工作階段的 [Performance Session 屬性頁] 對話方塊中指定其他選項。 若要開啟此對話方塊:
- 在 [效能總管] 中,以滑鼠右鍵按一下效能工作階段名稱,然後按一下 [屬性]。
下表中的工作說明當您收集 .NET 記憶體資料時,可以在 [Performance Session 屬性頁] 對話方塊中指定的選項。
工作 |
相關內容 |
---|---|
在 [一般] 頁面上,為產生的程式碼剖析資料 (.vsp) 檔案指定命名的詳細資料。 |
|
在 [啟動] 頁面上,如果您的程式碼方案中有多個 .exe 專案,請選擇要啟動的應用程式。 |
|
在 [階層互動] 頁面上,將 ADO.NET 呼叫資料加入至程式碼剖析執行中。 |
|
在 [Windows 事件] 頁面上,指定一個或多個要透過取樣資料收集的 Windows 事件追蹤 (ETW) 事件。 |
|
在 [Windows 計數器] 頁面上,指定一個或多個要加入至程式碼剖析資料中做為標記的作業系統效能計數器。 |
|
如果您的應用程式模組使用多個版本,請在 [進階] 頁面上,指定要進行程式碼剖析的 .NET Framework 執行階段版本。 根據預設,會對第一個載入的版本進行程式碼剖析。 |
檢測工作
下表中的工作為 [屬性頁] 對話方塊中,使用檢測方法進行程式碼剖析的特定選項。
工作 |
相關內容 |
---|---|
在 [二進位檔] 頁面中,指定已檢測之模組複本的位置。 根據預設,原始的二進位檔會移至備份資料夾。 |
|
在 [檢測] 頁面上,從程式碼剖析中排除小型函式以減少程式碼剖析的額外負荷、對 ASP.NET 網頁中的 JavaScript 程式碼進行程式碼剖析,並在檢測程序前後於命令提示字元指定要執行的命令。 |
|
在 [CPU 計數器] 頁面上,指定一個或多個要加入至程式碼剖析資料中的處理器效能計數器。 |
|
在 [進階] 頁面上,指定需要的任何 VSInstr.exe 選項,例如要包含或排除特定函式的選項。 如需 VSInstr 選項的詳細資訊,請參閱 VSInstr。 |