breakpoint eclissi: fermati prima di lasciare un metodo Java
-
10-07-2019 - |
Domanda
C'è un modo per dire al debugger di fermarsi appena prima di tornare, su qualunque istruzione esca dal metodo, che si tratti di restituire, eccezione o cadere in fondo? Sono ispirato dal fatto che l'editor Java mi mostra tutti i punti in cui il mio metodo può uscire - li evidenzia quando si fa clic sul tipo restituito della dichiarazione del metodo (Mark Occurrences abilitato).
[eclipse 3.4]
Soluzione
Posiziona un punto di interruzione sulla riga della firma del metodo. È qui che scrivi
public void myMethod() {
Quindi fai clic con il pulsante destro del mouse sul punto di interruzione e seleziona " Proprietà punto di interruzione " ;. Nella parte inferiore del pop-up ci sono due caselle di controllo: " Metodo di inserimento " ;, " Metodo di uscita " ;. Controlla quest'ultimo.
Altri suggerimenti
È possibile impostare un punto di interruzione del metodo.
Fare doppio clic sul margine accanto alla dichiarazione del metodo. Viene visualizzato un punto di interruzione con una decorazione a freccia. Fai clic con il pulsante destro del mouse per esaminare le proprietà, puoi impostare " Sospendi su: " per " Metodo di inserimento " e / o " Metodo Exit " ;.
Puoi leggere ulteriori informazioni su di loro in Eclipse Cookbook .
Buona domanda. Dalla parte superiore della mia testa, farei questo:
public void method(Object stuff) {
try {
/* normal code */
} finally {
int x = 0;
}
}
È possibile impostare il punto di interruzione sulla riga x = 0 e verrà SEMPRE eseguito indipendentemente da dove si ritorna. Anche se viene generata un'eccezione, verrà eseguita.
Il problema è questo. A meno che non si definiscano variabili al di fuori del blocco try, non sarà possibile vedere i loro valori in cui si arriva al blocco finally poiché avranno terminato l'ambito.
Dovendo posizionare solo 5 punti di interruzione (uno per ogni dichiarazione di ritorno, qualunque cosa) potrebbe funzionare meglio.
Spero che ci sia un modo migliore, mi piacerebbe saperlo.