Skip to content
偵錯、剖析和診斷程式碼 | Visual Studio2019-06-28T09:44:44-07:00

快速找出 Bug

Debugging screenshot

跨語言偵錯

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

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

任何平台或位置

本機、遠端及生產環境

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

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

screenshot of debugging window
Breakpoint screenshot

細微控制

確切地決定您想要在何處及何時中斷並檢查狀態

使用中斷點,在可能存在 Bug 的地方暫停正在執行的程式。 詳細檢查每行程式碼、查看變數值、記憶體行為或程式碼分支是否正在執行。

精益求精,並為您的中斷點設定彈性條件和動作

彈性檢查狀態

在執行階段查看變數的值

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

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

Inspecting variables while paused screenshot
Exception screenshot

例外狀況是好的

發生錯誤時得到警示

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

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

執行緒易於執行

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

多執行緒程式碼是眾所皆知地難以偵錯。 Visual Studio 可讓您一次控制多個執行緒的執行,並跨多個執行緒檢查狀態,以顯示大圖片。

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

screenshot of multiple thread call stacks in one view
Screenshot of Disassembly and Registers tools

更貼近硬體 (Close to the Metale)…

深入了解程式碼的需求

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

預防效能問題

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

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

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

Diagnostics tools screenshot
Code history with diagnostic and IntelliTrace tools

不再有「無法重現」

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

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

有了 Visual Studio 診斷工具和 IntelliTrace,無需中斷點,即可查看程式碼執行的歷程記錄,並往回巡覽以檢查狀態

簡單 UI 偵錯

XAML 和 HTML 也是程式碼

您不必再依賴設計階段資料來驗證配置,就可以讓應用程式在執行時依您想要的方式呈現。

若為具有 HTML 或 XAML 使用者介面的應用程式,使用程式碼偵錯功能來識別 UI 層中的問題。 Visual Studio 也可讓您在應用程式執行時使用 XAML 視覺化樹狀結構,來探索 HTML DOM 並視覺化 XAML 程式碼的結構。

XAML Visual Tree screenshot

Free, fully-featured IDE for students, open-source and individual
developers

Free download

Professional developer tools, services, and subscription benefits for small
teams

Free trial

End-to-end solution to meet demanding quality and scale needs of teams of all
sizes

Free trial

Feedback