共用方式為


檢查方法呼叫的傳回值

在 [自動變數] 視窗中,您可以在不進入或者跳離方法呼叫時,檢查 .NET Framework 和 C++ 方法的傳回值。 當方法呼叫的結果不會儲存在區域變數中,例如,方法做為另一個方法的參數或傳回值時,這項功能會很有用。

內容

在自動變數視窗中檢視方法傳回值

在即時運算和監看式視窗中檢視 .NET Framework 方法傳回值

在自動變數視窗中檢視方法傳回值

  1. 建立 C# 或 C++ 主控台應用程式。

  2. 將 C# Main 方法或 C++ _tmain 方法取代為下列程式碼。

    //static void Main(string[] args) {
        Method1();         // 1. Set a breakpoint here
                           // 2. Then step into Method1 
        int y = Method2(); // 3. Set a breakpoint here
                           // 4. Then step into Method2 
    
    static void Method1(){
        // 1. Step over the following line
        int result = Multiply(FourTimes(Five()), Six());
        // 2. Then view the return values in the Autos window
    }
    
    static int Method2(){
        // 1. Step over the following line
        return Five();
        // 2. Then view the return values in the Autos window
    }
    
    static int Multiply(int x, int y){
        return x * y;
    }
    
    static int FourTimes(int x){
        return 4 * x;
    }
    
    static int Five(){
        return 5;
    }
    
    static int Six(){
        return 6;
    }
    
    void Method1();
    int Method2();
    int Multiply(int x, int y);
    int FourTimes(int x);
    int Five();
    int Six();
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        Method1();            // 1. Set a breakpoint here
                              // 2. Then step into Method1 
        int x = Method2();    // 3. Set a breakpoint here
                              // 4. Then step into Method2 
    }
    
    void Method1(){
        // 1. Step over the following line
        int result = Multiply(FourTimes(Five()), Six());
        // 2. Then view the return values in the Autos window
    }
    
    int Method2(){
        // 1. Step over the following line
        return Five();
        // 2. Then view the return values in the Autos window
    }
    
    int Multiply(int x, int y){
        return x * y;
    }
    
    int FourTimes(int x){
        return 4 * x;
    }
    
    int Five(){
        return Six();
    }
    
    int Six(){
        return 6;
    }
    
  3. 在 main 方法中呼叫 Method1 和 Method2 時設定中斷點。

  4. 在 [偵錯] 功能表上,選擇 [開始偵錯] (鍵盤:F5) 開始偵錯並在 Method1 呼叫處中斷。

  5. 選擇 [偵錯]、[逐步執行] (鍵盤:F10) 進入 Method1。

  6. 選擇 [偵錯]、[不進入函式] (鍵盤:F11),不進入 Method1 的第一行程式碼。

  7. 在 [自動變數] 視窗中,記下顯示的 Multiply、FourTimes、Five 和 Six 方法傳回值,並包含傳回值圖示 (若要開啟 [自動變數] 視窗,請依序選擇 [偵錯]、[視窗]、[自動變數],或按 Ctrl + ALT + V、A)。

    方法在自動變數視窗中傳回值

  8. 選擇 [偵錯]、[繼續] (鍵盤:F5),繼續執行至 Method2 的呼叫。

  9. 逐步執行 Method2。

  10. 不進入 return 陳述式。

  11. 請注意,[自動變數] 視窗會顯示 [Five] 方法的傳回值 (Method2 直接傳回的值)。

    在自動變數視窗中傳回值

在即時運算和監看式視窗中檢視 .NET Framework 方法傳回值

在您不進入或跳離方法呼叫之後,也可以在 [即時運算] 視窗或某個監看式視窗中輸入 $ReturnValue,檢查 .NET Framework 方法呼叫的傳回值。 若要開啟 [即時運算] 視窗,請依序選擇 [偵錯]、[視窗]、[即時運算] (鍵盤:Ctrl + Alt + I)。