2014-10-16 35 views
6

比方說,我有以下代碼:是否可以在調試時修改Eclipse中某個函數的響應?

if(shouldDoSomething()) { 

    // amazing code here 
} 

而且我們也可以說shouldDoSomething()是我沒有源代碼的方法。即使shouldDoSomething()返回false,是否有任何方法可以強制代碼進入if塊?反之亦然?

我在Visual Studio中的C++知道我可以更改EAX寄存器中的值,並在我的路上,但我不知道在代碼寫入此風格時是否有類似的調試Eclipse的調試?

重構代碼以捕獲變量中的響應不是一種選擇。

回答

4

或許有這樣做的更合適的方法,但這應該工作:

1)步入(F5)你想改變返回值的方法。如果你沒有這個方法的源代碼並且它進入一個類文件,那很好。

2)打開顯示視圖(窗口>顯示視圖>顯示),然後鍵入true到它

3)選中就可以了true你剛剛輸入和點擊右鍵並選擇強制返回(或按Alt + Shift + F)

4)繼續瀏覽你的代碼。如果你的if語句設置爲你的問題,那麼現在應該進入if語句塊。

+0

工作很好。無可否認,這種情況被淡化了。想象一下,返回的是一個需要調整的類,比如'doSomething(getSomething())',但是你的答案解決了這個問題,如果有必要,我可以在後面發佈一個新的更詳細的問題。謝謝! – 2014-10-16 19:50:36

相關問題