文章編號: 308469 - 上次校閱: 2003年10月1日 - 版次: 1.0

HOW TO:設定 Visual Studio .NET 的條件中斷點

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

Visual Studio .NET 提供幾個方法協助您偵錯 .NET Framework 應用程式。 本文將逐步告訴您,如何使用中斷點來偵錯以 Microsoft Visual Basic .NET 撰寫的程式碼區段。

本文假設您已熟悉 Visual Basic .NET 語法。

建立程式碼範例

  1. 啟動 Visual Studio .NET,建立名稱為 Debug 的新「Visual Basic 主控台應用程式」專案。
  2. 將 Module1.vb 中的程式碼修改如下:
    Module Module1
    
        Sub Main()
    
            Dim MyTime As String = TimeString
            Dim MyGreeting As String
    
            ' Create a greeting.
            If CInt(TimeString.Substring(0, 2)) < 12 Then
                MyGreeting = Reverse("Good Morning")
            Else
                MyGreeting = Reverse("Good Afternoon")
            End If
    
            ' Display reversed greeting.
            Console.WriteLine(MyGreeting)
    
        End Sub
    
        
        Function Reverse(ByVal inStr As String) As String
    
            ' Reverses the characters contained in a string.
            Dim MyInt As Integer
            Dim MyStr As String
    
            For MyInt = (inStr.Length - 1) To 0 Step -1
                MyStr = MyStr & inStr.Substring(MyInt, 1)
            Next
    
            Return MyStr
    
        End Function
    
    End Module
    					
  3. 儲存專案。

建立無條件中斷點

  1. [偵錯] 功能表中按一下 [視窗],再按 [中斷點]
  2. 在 [程式碼] 檢視中,按一下下列程式碼行旁邊的左側邊界。這會在該陳述式上設定中斷點:
    If CInt(TimeString.Substring(0, 2)) < 12 Then
    					
  3. [偵錯] 功能表中,按一下 [啟動], 則程式在偵錯模式中啟動。程式到達中斷點時即停止。
  4. [偵錯] 功能表中按一下 [視窗],再按 [本機]。出現本機變數值 MyGreetingMyTime
  5. [偵錯] 功能表中,按一下 [繼續] (或按 F5), 讓中斷點後的程式繼續執行。

建立條件函式中斷點

  1. 在 [中斷點] 視窗中按一下 [新增] 以建立新的中斷點。
  2. [函式] 索引標籤上,在 [函式] 輸入 Reverse。在 [行] 輸入 1,在 [字元] 輸入 1,並且將 [語言] 設為 Basic
  3. 按一下 [條件],確定有選取 [條件] 核取方塊。在 [條件] 輸入 instr.length > 0,並且確定有選取 [為 True] 選項,然後按一下 [確定]
  4. [新中斷點] 對話方塊中按一下 [確定]
  5. [偵錯] 功能表中,按一下 [啟動]
  6. 程式在 [主要] 方法的 IF 陳述式停止。如果要繼續執行程式,請在 [偵錯] 功能表中,按一下 [繼續]
  7. 程式又在 Reverse 函式停止。繼續執行程式。

建立其他中斷點

  • 如果要建立其他中斷點,請按一下下列程式碼行旁邊的 Reverse 函式的左側邊界。
    MyStr = MyStr & inStr.Substring(MyInt, 1)
    					

變更中斷點內容

  1. 如果要變更新中斷點的內容,請以滑鼠右鍵按一下前一個步驟的程式碼行,並且按一下 [中斷點內容]
  2. 按一下 [叫用次數]
  3. 如果要將 [當叫用中斷點時] 設為 2 的倍數,請在文字欄位中輸入 2,然後按一下 [確定]
  4. [中斷點內容] 對話方塊中按一下 [確定]
  5. [偵錯] 功能表中,按一下 [啟動] (或按 F5)。程式在第一個中斷點停止。
  6. 繼續執行程式,直到偵錯處理程序完成。

在偵錯模式中逐步執行程式碼

  1. 在偵錯模式中啟動程式。程式到達第一個中斷點時,在 [偵錯] 功能表中按一下 [不進入函式]。不進入中斷點,直接到下一個陳述式。
  2. 如果您在早上執行這個程式,會出現下列陳述式:
    MyGreeting = Reverse("Good Morning")
    					
    如果您在下午執行這個程式,會出現 Else 陳述式。按 F10,再次進入下列陳述式:
    MyGreeting = Reverse("Good Afternoon")
    					
  3. [偵錯] 功能表上,按一下 [逐步執行], 以逐步執行 Reverse 函式。
  4. 繼續在 [偵錯] 功能表上按 [不進入函式],直到再度出現下列陳述式:
    MyStr = MyStr & inStr.Substring(MyInt, 1)
    					
  5. 在左側邊界按一下以移除目前的中斷點。
  6. [偵錯] 功能表上,按一下 [跳離函式], 以跳離 Reverse 函式。
  7. 繼續執行,直到偵錯處理程序完成。

變更中斷點視窗輸出

  1. 在 [中斷點] 視窗中按一下 [欄] 功能表,顯示可用欄。
  2. 按一下 [函式],將 [函式] 欄新增到 [中斷點] 視窗的顯示畫面。

停用及清除中斷點

  1. 在 [中斷點] 視窗中按兩下下列中斷點:
    Module1.vb, 行 9 字元 1
    這會帶您到 [程式碼] 視窗中的中斷點位置:
    If CInt(TimeString.Substring(0, 2)) < 12 Then
     
    					
  2. 在 [中斷點] 視窗中,取消選取這個中斷點的核取方塊, 則會停用中斷點。
  3. 在 [中斷點] 視窗中按一下 [停用所有中斷點],然後按 [啟用所有中斷點],再按 [清除所有中斷點]

疑難排解

  • 您只能在可執行的程式碼行上建立中斷點。例如,備註和變數宣告不接受沒有預設值的中斷點。
  • 您只能在函式宣告的第一行上指定函式中斷點。
  • Microsoft 不支援 Visual Basic .NET 的資料中斷點。

參考

如需有關偵錯中斷點的詳細資訊,請參閱「Visual Studio .NET 線上說明」文件的下列主題:
Debugging Basics:Breakpoints
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxconDebugging101Breakpoints.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxconDebugging101Breakpoints.asp)

這篇文章中的資訊適用於:
  • Microsoft Visual Studio .NET 2002 Professional Edition
關鍵字:?
kbhowto kbhowtomaster KB308469
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。