2014-10-16 11 views
6

Diciamo che ho il seguente codice:È possibile modificare la risposta di una funzione in Eclipse durante il debug?

if(shouldDoSomething()) { 

    // amazing code here 
} 

E diciamo anche dire shouldDoSomething() è un metodo che non ho il codice sorgente per. C'è un modo per forzare il codice nel blocco if anche se shouldDoSomething() restituisce false? E viceversa?

So in C++ in Visual Studio Potrei semplicemente cambiare il valore nel registro EAX e stare sulla mia strada, ma non sapevo se c'era qualcosa di simile per il debug in Eclipse quando il codice è scritto in questo stile?

Il refactoring del codice per acquisire la risposta in una variabile non è un'opzione.

risposta

4

forse c'è un modo più ordinato di fare questo, ma questo dovrebbe funzionare:

1) Step Into (F5) il metodo che si desidera modificare il valore di ritorno per. Va bene se non si dispone del codice sorgente per questo metodo e si passa a un file di classe.

2) Aprire il display View (Finestra> Mostra vista> Display) e digitare true in esso

3) Evidenziare il true appena immesso e fare clic destro su di esso e scegliere forza di ritorno (o Alt + Maiusc + F)

4) Continuare a scorrere il codice. Se hai impostato la tua istruzione if come nella tua domanda, dovrebbe ora passare al blocco dell'istruzione if.

+0

che ha funzionato alla grande. certamente lo scenario è stato ridotto. Immagina che ciò che viene restituito è una classe che ho bisogno di modificare prima di lasciarlo continuare come 'doSomething (getSomething())' ma la tua risposta affronta la domanda e posso postare una nuova domanda più dettagliata più avanti se necessario. Grazie! –

Problemi correlati