2013-07-03 52 views
0

我正在做一些移動開發,有時候通過連接到服務器來調試是最容易的。爲了簡便起見,我喜歡寫這樣的事:在調試期間檢查內聯返回值

Public Function GetData(parameters) As FuzzBomb 
    Using data As New PersistentDataAccessLayer() 
     Return data.MakeStateChangingCall(parameters) 
    End Using 
End Function 

但是,如果你有這樣寫的(即Return GetValueFromSomeFunction)函數調用的一個字符串,它真的很難檢查值在調試時返回。

由於存在副作用,我不能簡單地將函數調用複製/粘貼到監視窗口中。我可以將結果分配給一個臨時變量......但這對我來說似乎很難看:

Using data As New PersistentDataAccessLayer() 
    Dim result = data.MakeStateChangingCall(parameters) 
    Return result 
End Using 

有沒有更好的方法?

回答

0
  1. 此功能在Visual Studio 2013,.NET 4.5.1中受支持。所需的值將出現在Autos窗口中。你可以在Somasegar's blog找到功能描述。
  2. 在舊版本的Visual Studio和.NET中,您可以使用Immediate Window:只需從調試函數中寫入data.MakeStateChangingCall(parameters),Visual Studio將評估目標值(函數的結果)。
+0

這是VS2013中的一個很好的功能。我相信選項2不會工作,如果我的函數有副作用,因爲我會在立即窗口中調用一次函數,並且一次讓代碼運行。我可能會得到不同的結果並更改數據的狀態(例如,如果我正在訪問數據庫)。 –

+1

@JeffBridgman,那麼你需要Visual Studio 2013/.NET 4.5.1。 – AndreyAkinshin