2010-03-27 105 views
11

我有一個屬性在一個類正在被某些東西改變。我更改此代碼的唯一有價值的地方是一條線,看起來像這樣:VS調試和觀察變量的變化

pushpin.Position.Altitude = -31; 

在Visual Studio中的調試,有沒有辦法看.Altitude對所作的任何更改,最好它打破在賦值語句這改變了價值。

如果這是追查這個問題的正確方法,我可以一步一步的教程/指導如何做到這一點?

謝謝。

回答

11

如果這是一個屬性,那麼你可以通過給屬性的set方法添加一個斷點來做到這一點。將光標置於set語句中並按F9將創建斷點。

如果這是一個領域,那麼就沒有辦法直接看這個。在字段更改值時中斷是C++中支持的操作,稱爲數據中斷點,但在CLR中不受支持。最好的解決辦法是暫時將該字段轉換爲屬性,並打破設置語句。基於OP

編輯

更新說這是一個第三方的DLL。

在這種情況下,您希望使用Visual Studio的功能中斷功能。第一步是禁用Just My Code。

  • 工具 - >選項 - >調試
  • 取消選中 「啓用僅我的代碼」

下一頁實際設置命名斷點

  • 打開了破發點窗口(調試器 - > Windows - > Break Points)
  • 點擊新按鈕並選擇「Break at function」
  • 輸入屬性的名稱。例如:Position.set_Altitude

您可能需要爲了得到完全限定的命名工作

2

您可以設置條件斷點通過設置基點,然後右鍵單擊指定條件在這條線上打破。

您可以添加'監視'到一個變量,並指定在任何時間/任何時間改變值。