使用VS開發C++時,您擁有數據斷點的驚人功能,當內存中的某個地址處的數據發生更改時會觸發這些功能。java/eclipse中的數據斷點
在eclipse中開發java時有沒有類似的功能?
謝謝!
編輯:關於「掛起時值改變」功能:我的印象是執行必須仍然到達斷點所在的線。事情是我希望它隨着價值的變化觸發任何地方。
使用VS開發C++時,您擁有數據斷點的驚人功能,當內存中的某個地址處的數據發生更改時會觸發這些功能。java/eclipse中的數據斷點
在eclipse中開發java時有沒有類似的功能?
謝謝!
編輯:關於「掛起時值改變」功能:我的印象是執行必須仍然到達斷點所在的線。事情是我希望它隨着價值的變化觸發任何地方。
您可以在現場設置一個觀察點:將光標置於字段所聲明的線,並選擇Run -> Toggle Watchpoint
或就在該行的左邊空白處雙擊設置斷點菜單。
添加它後,您可以更改觀察點的屬性,如suspend on field access
或suspend on field modification
。只是在觀察點在左邊空白處單擊鼠標右鍵,並選擇Breakpoint Properties...
搜索幫助觀察點,以獲得更多的信息:
觀察點是停止的應用程序,只要執行一個特殊的斷點值給定表達式的變化,而不指定它可能發生的位置。 ...
最接近的是編輯斷點屬性。您可以添加條件來檢查不同的值。另一種方法可能是爲setter方法添加一個斷點。
您可以通過右鍵單擊斷點視圖中已設置的斷點來設置斷點屬性。
右鍵單擊斷點並選擇Breakpoint properties
。
在打開屏幕,選擇:Conditional -> Suspend when value changes
謝謝,但我如何提供對象或變量到我想要監視的對象? – clamp 2010-11-03 10:34:19
在單選按鈕下方的字段中輸入變量名稱(類似this.foo)。有自動完成可用。 – 2010-11-03 10:38:12
據我所知,是在Eclipse中沒有這樣的通用功能。但是,您可以給現有的斷點提供一些條件:
在您的代碼的某處添加斷點。然後,在「斷點」視圖中,右鍵單擊它,然後選擇「斷點屬性」。在面板中,您可以添加必須驗證的條件,以使應用程序在此斷點處停止(例如if (foo > 0)
)。
這不完全是你想要的,但我不認爲Eclipse提供這樣的功能。
,使用變量視圖:
請注意,性能可能不如內存硬件斷點(例如在VC++中)。
完美!正是我需要的! – clamp 2010-11-03 11:54:54
這很有用(和我+1),但它仍然不是問題的答案。這個中斷*任何*聲明的實例,而不是特定的實例。 – 2011-08-11 17:42:15
當字段不是最終時,我只有可用的觀察點選項。我如何觀看最終對象? (我想看看什麼時候一個項目添加到地圖或從地圖檢索) – dj18 2016-05-13 15:09:53