具備如下功能: 編程
DataTable go() { return someTableAdapter.getSomeData(); }
當我在此函數中設置斷點時,是否有可能檢查返回的值? go()
直接與.aspx
頁中的數據網格耦合。 函數
檢查返回的數據表的惟一方法是使用臨時變量。 可是,這有點不方便。 有沒有其餘辦法? visual-studio
根據Microsoft的說法,沒法使用託管代碼可靠地實現此目的。 這是他們意識到並正在解決的問題: spa
對於那些有調試本機C ++或VB6代碼經驗的人,您可能使用了在「自動」窗口中爲您提供函數返回值的功能。 不幸的是,託管代碼不存在此功能。 儘管您能夠經過將返回值分配給局部變量來解決此問題,但這並不方便,由於它須要修改您的代碼。 在託管代碼中,肯定您跨過的函數的返回值要麻煩得多。 咱們意識到在這裏沒法始終如一地作正確的事情,所以咱們刪除了該功能,而不是在調試器中給您錯誤的結果。 可是,咱們但願爲您帶來幫助,咱們的CLR和Debugger團隊正在尋找解決此問題的許多潛在解決方案。 不幸的是,這不是Visual Studio 11的一部分。 debug
.NET之前的古老技巧:打開「寄存器」窗口,查看EAX寄存器的值。 它包含最後一個調用函數的返回值。 code
我認爲您能夠經過在「寄存器」窗口(「調試」 /「 Windows」 /「寄存器」)中查看RAX寄存器來肯定這一點。 退出功能(SHIFT + F11)後,檢查RAX寄存器。 我不知道一個事實,可是一旦過了月亮,您就能夠檢查一個寄存器(.NET以前的日子)並在那裏查看返回值。 它甚至多是RAX和RBX等的組合。 get
是的,經過切換到VB.NET。 ; P(您剛纔說的是「 Visual Studio」。) it
只要我能記住(從Visual Basic到VB.NET的全部版本),您均可以簡單地查詢函數名稱。 它像局部變量同樣在函數的「函數」中隱式聲明,該變量在函數的開始處隱含聲明,而且當函數經過非返回語句手段(例如, Exit Function
或剛剛掉線)退出時,其當前值也用做返回值,固然,當使用return語句時。 io
它還設置爲return語句的表達式。 就像局部變量同樣,能夠在函數內部的任何執行點(包括執行return語句以後)檢查其值。 C#沒有,應該。
VB.NET的那個小功能(加上它啓用的Exit Function
語句-C#沒有而且應該有的另外一個功能)在防護性編程中很是有用,我在練習中老是將函數名初始化爲失敗/默認值做爲第一個陳述。 而後,在任何故障點(一般比成功點發生的頻率高得多),我能夠簡單地調用Exit Function
語句(即,沒必要重複故障/默認表達式甚至是常量/變量名稱)。
是的,有一個很是好的方法。 一個重大的缺點是您必須等待5到6年。 因爲我看到您是在2008年11月發佈的,所以建議您waaaaaa ...
... aaaait。 和瞧! MS僅針對您發佈了最新的Visual Studio 2013 ,它是在調試模式下運行時從菜單中可訪問的默認功能(菜單Debug → Windows → Autos )。