Visual Studio 2013 中偵錯工具的新功能
內容
Asynchronous Debugging in Windows Store Apps
Just My Code for C++ and JavaScript Debugging
64-bit Edit and Continue for the .NET Framework
Return value inspection for .NET Framework Methods
.NET Framework Memory Analysis with Dump Files
Debug with Debugging Tools for Windows
Code Map Debugging
IntelliTrace Debugging
Windows 市集應用程式中的非同步偵錯
偵錯工具加強了對 Windows 執行階段非同步程式設計模型的支援。 在 .NET Framework 語言中,這個模型是透過 async/await 關鍵字 (在 Visual Basic 中為 Async/Await) 表示。 在 C++ 和 C++/Cx 中,task 物件及 .then 接續會支援此模型。 而且 JavaScript 會使用 promise 物件和 .then 接續。
[呼叫堆疊] 視窗會顯示呼叫 [Async Call] 訊框下之非同步函式的方法。
[工作] 視窗 (之前稱為 [平行工作] 視窗) 會將新模型顯示為工作,並顯示工作的相關增強資訊。 請參閱 使用工作視窗。
增強的 C++ Windows 市集應用程式例外狀況報告功能。當 Windows 執行階段元件中發生 C++ 例外狀況時,Visual Studio Debugger 現在支援擷取該例外狀況的堆疊追蹤。 如果堆疊追蹤出現在衍生自 Platform::Exception 的例外狀況物件上,偵錯工具可以顯示這些擷取的堆疊追蹤。
在第一個可能發生的例外狀況,偵錯工具所顯示的例外狀況對話方塊會列出發生例外狀況時的堆疊追蹤。
您可以將 $exceptionstack psuedovariable 加入到監看式視窗中,以在偵錯工作階段中檢查未來的 Windows 執行階段例外狀況。 如果在目前的執行緒中發生例外狀況,您可以在監看式視窗中展開該項目,查看堆疊追蹤並巡覽至造成例外狀況的原始程式碼。 您也可以藉由選擇例外狀況對話方塊中的 [加入例外狀況堆疊追蹤至監看式] 連結來監看 $exceptionstack。
如需詳細資訊,請參閱 Visual Studio ALM + Team Foundation Server 部落格上的這篇文章。
C++ 和 JavaScript 偵錯的 Just My Code 功能
Just My Code 會隱藏 [呼叫堆疊] 視窗中的非使用者程式碼,例如系統中的程式碼、Win.JS 和協力廠商程式庫。 在偵錯非同步程式碼或者在 JavaScript 與 C++ 混合模式中進行偵錯時,Just My Code 會讓您更容易找到您的方法。
Visual Studio 2013 預設會啟用 Just My Code。 若要檢視呼叫堆疊中的所有程式碼,請選擇 [偵錯] 功能表上的 [選項和設定],然後清除 [啟用 Just My Code] 核取方塊。 請注意,這個設定會套用至支援 Just My Code 的任何程式設計語言。
.NET Framework 的 64 位元編輯後繼續
對於以 64 位元平台為目標的應用程式,偵錯工具現在支援編輯後繼續。
.NET Framework 方法的傳回值檢查
您現在可以在 [自動變數] 視窗中檢視方法的傳回值。 對於內嵌方法 (當做參數傳遞至另一個函式的方法),這特別有用:
請參閱檢查方法呼叫的傳回值
.NET Framework 記憶體分析與傾印檔案
經常影響執行於生產環境的 .NET 應用程式的其中一個問題是它們的記憶體使用量的問題,這會影響應用程式並可能影響整個電腦。 Visual Studio 2013 擴展其傾印檔案分析工具,協助您尋找 .NET Framework Web、資料庫和桌面應用程式中的記憶體流失、沒有效率的記憶體使用,以及不必要的配置。
注意事項 |
---|
Windows 市集應用程式不支援 .NET Framework 傾印檔案的記憶體分析。如需 JavaScript 應用程式的資訊,請參閱分析 Windows 市集應用程式中的記憶體使用量 (JavaScript)。 |
如需 .NET 記憶體分析工具的詳細資訊,請參閱 Visual Studio ALM + Team Foundation Server 部落格上的這篇文章 (英文)。 如需傾印檔案的詳細資訊,請參閱在 Visual Studio 中使用傾印檔案偵錯應用程式當機和停止回應的問題。
使用 Windows 偵錯工具進行偵錯
注意事項 |
---|
Visual Studio IDE 並沒有提供可協助您在 WinDbg 中偵錯 Managed 程式的 SOS.dll (SOS 偵錯擴充功能)。請參閱使用 Windows 偵錯工具偵錯 Managed 程式碼 (英文) |
您可以使用 Visual Studio IDE 中的Debugging Tools for Windows (英文)。 您必須安裝屬於 Windows Driver Kit (WDK) 一部分的偵錯工具。 請參閱 Windows 8.1 預覽:下載套件、位元與工具。
Code Map 偵錯
在 Visual Studio Ultimate 中偵錯時,透過建立 Code Map 以視覺化方式呈現呼叫堆疊。 您也可以使用 Code Map 來巡覽程式碼。 請參閱 在 Visual Studio 中進行偵錯時對應呼叫堆疊上的方法。
IntelliTrace 偵錯
-
單獨使用 Microsoft Monitoring Agent 或與 System Center 2012 搭配使用,本機監視 IIS Web 應用程式的例外狀況和效能事件。 您可以將這些事件記錄至 IntelliTrace 記錄檔,以便在 Visual Studio Ultimate 中進一步調查問題,並且從特定事件開始偵錯時移至部署的程式碼。
使用 Microsoft Monitoring Agent 來記錄部署中的 SharePoint 2010 和 SharePoint 2013 應用程式的診斷事件。
您可以將使用者設定檔事件、統一記錄系統 (ULS) 事件和 IntelliTrace 事件儲存到 IntelliTrace 記錄檔,在 Visual Studio Ultimate 中進一步調查問題,並且使用 IntelliTrace 從特定事件開始偵錯。
請參閱 設定版本以便在部署後診斷問題 和 System Center 2012 R2 Operations Manager 的新功能 (英文)。