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]

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top