偵錯、剖析和診斷程式碼 | Visual Studio2023-05-15T12:52:47-07:00

快速找出 Bug

輕鬆檢查、診斷及分析

跨語言偵錯

為您的所有程式碼提供豐富的偵錯功能

在偵錯時即時檢視編輯器中的變數相關資訊。 使用資料提示查看變數的名稱與目前值、展開物件並查看其元素,以及編輯變數的值。

任何平台或位置

本機、遠端及生產環境

不管您的程式碼在何處執行,Visual Studio 都可以對其進行偵錯,包括在電腦上或 Android 模擬器中啟動本機 Windows 應用程式,連結遠端 Azure 執行個體、iOS 裝置或遊戲主控台;甚至是任何網頁瀏覽器。

在生產環境中,您可以使用 IntelliTrace 和深入分析傾出檔這類的功能,來離線偵錯問題。

偵錯視窗螢幕擷取畫面

細微控制

決定要中斷和暫停應用程式執行的確切位置和時間

使用中斷點,在可能存在 BUG 的地方暫停正在執行的程式。 透過使用具有條件和動作的進階中斷點來評估更複雜的案例,或者使用相依中斷點來輕鬆偵錯應用程式程式碼中的共用路徑,以更上一層樓。

使用執行以執行至游標或使用强制執行至游標在不遺失中斷點的情况下向前快轉偵錯模式,在特定行跳至偵錯模式要容易得多。

彈性檢查狀態

這只是在深色佈景主題中的同一個影像

一旦您在想要的位置暫停應用程式,Visual Studio 就會提供多種方式,讓您檢查變數的值,以構成或驗證假設。

在逐步執行程式碼時監視值;一覽區域變數,以及評估複雜運算式,這些全都不必離開偵錯工具就能完成。 您甚至能以互動方式深入查詢資料結構。

發生錯誤時得到警示

程式碼缺失和非預期的狀況本身會以例外狀況呈現。 例外狀況將使用您的應用程式當機,或只是變成難以追蹤的 BUG。

利用 Visual Studio 進行偵錯時,您可以設定擲出例外狀況時的通知,甚至選擇要特別注意的例外狀況。 您會直接在該處立即收到內部例外狀況資訊和 Null 參考分析的警示,就和觸及中斷點一樣簡單。

Build rich cross-platform native apps

簡化複雜多執行緒程式碼的控制和檢查

非常難以針對多執行緒程式碼進行偵錯,這是眾所皆知的。 Visual Studio 可讓您一次控制多個執行緒的執行,並跨多個執行緒檢查狀態,以了解整體情況。

在單一圖形檢視中查看所有執行緒呼叫堆疊,並跨多個執行緒評估運算式來比較值。 輕鬆地檢視執行緒和工作的相關資訊、標示它們,以及凍結它們。 在執行內容之間迅速切換,並隨時使用執行緒標記來查看執行緒正在執行的程式碼。

Access everything you need in one place

深入了解程式碼的需求

有時候,您需要更接近硬體層級,才能診斷難以發現的 Bug,系統層級 C++ 程式碼更是如此。 Visual Studio 支援您利用記憶體、暫存器和反組譯碼視窗來完成此工作。

Build rich cross-platform native apps

使您的應用程式快速且穩健

取得資訊來協助您在編寫程式碼時做出很好的效能選擇。 使用編輯器內的 PerfTips 和診斷工具,在您偵錯時了解程式碼的效能和記憶體性質。

在沒有偵錯工具的情況下,使用完整的剖析工具來更深入解析應用程式的效能,包括 CPU、GPU 和記憶體用量、UI 回應,以及網路使用率。

Build rich cross-platform native apps

滿足您所有需求的工具

無論您需要使用 .NET 配置工具分析 CPU 使用量還是追蹤不想要的記憶體配置,效能分析工具都有驅動效能調查的工具。

Comprehensive performance toolkit

視覺效果協助您探索效能問題

效能分析工具具有豐富的視覺效果,如 CPU 使用量工具中的火焰圖形,用於追蹤佔用 CPU 大部分時間的程式碼路徑。 當您在呼叫堆疊中找到感興趣的函數時,請直行至原始程式碼以改進效能!

Visualize expensive code paths

深入解析概覽

使用 CPU 使用量工具中的摘要頁面快速取得深入解析! 為您醒目提示熱門函數「最忙碌路徑」,以便您可以直接找到效能問題的原因。

Summarized performance insights

不再有「無法重現」

.NET 程式碼的程式碼執行歷程記錄

當您編輯並按 F5 來測試 .NET 程式碼時,您會遇到非預期的行為 (Bug)。 診斷該 Bug 有時可能需要數小時來搜尋整個原始程式碼,以找出相關的程式碼片段,並重複猜測設定中斷點的位置。

透過 Visual Studio 診斷工具與 IntelliTrace,您可以在不需要中斷點的情況下,查看程式碼執行的歷程記錄,並往回瀏覽以檢查狀態。

意見反應