venerdì 29 luglio 2011

Saltare alcune classi durante l'utilizzo Step Into nel debugger di Eclipse

da Byron

Ogni volta che uso la funzione di Step Into (F5) nel debugger di Eclipse, sono interessati soprattutto a eseguire il codice un'istruzione nel mio classi, non quelli di librerie esterne o anche le classi Java.

Per esempio, non c'è quasi nessuna ragione a voler mai entrare nel codice di primavera o classi proxy (diversi per saperne di più su di loro o forse il debug di un potenziale bug in primavera). E normalmente non mi interessa in Java classi utili (es. ArrayList). Questo vale anche per Hibernate, Apache Commons, Google e molte altre librerie esterne.

Fortunatamente, Eclipse rende facile specificare quali classi di saltare, consentendo filtri passo. Questo rende più facile concentrarsi sul proprio codice e mantiene anche la vostra area di testo dell'editor pulita dal Eclipse non sarà l'apertura classi redattori separato per tutto il tempo.

Abilita Filtri Passo

Per utilizzare i filtri passo, il primo passo è quello di abilitarlo. Eclipse è dotato di alcuni filtri di default così cominciamo attivando tutti. Questo filtro di tutte le classi Java (ad esempio java .* ) e tutte le classi Sole (es. dom .* ).

  1. Vai alla Finestra> Preferenze> Java> Debug> Passo Filtering .
  2. Selezionate l'opzione Usa filtri passo .
  3. Clicca Seleziona tutto per consentire a tutti i filtri.
  4. Lasciare le altre opzioni sotto la lista del filtro così come sono.

Ecco un esempio di quello che dovrebbe essere simile:

NB: Anche con passo filtri abilitati, è possibile impostare punti di interruzione all'interno di una qualsiasi di queste classi (se avete la fonte) e Eclipse sarà ancora fermarsi al punto di interruzione. Fase di filtraggio influisce solo sul modo in cui Step Into opere.

Si noti inoltre che Eclipse sarà ancora entrare nella vostra classe se sono chiamati dalle classi ignorato. Per esempio, quando si chiama Collections.sort (Lista, comparatore) e passare il proprio comparatore attuazione, Eclipse non farà un passo nel codice di ordinamento, ma si farà un passo nella vostra comparatore quando viene chiamato dal codice di genere.

Se si desidera modificare questo comportamento (cioè evitare che Eclipse l'arresto nel metodo), quindi deselezionate passaggio attraverso i filtri. Comunque, io consiglierei di farlo solo se hai provato il default, perché il più delle volte probabilmente vogliono per passare il proprio codice.

Il passo successivo è quello di creare dei filtri passo della vostra.

La creazione dei filtri passo proprio

Una volta attivato i filtri passo, tutto quello che dovete fare è aggiungere le classi che si desidera filtrare. Supponiamo che vogliamo ignorare tutte le classi a partire dalla primavera, soprattutto le classi proxy.

  1. Se non ci sei già, vai a Finestra> Preferenze> Java> Debug> Passaggio filtrante .
  2. Clicca Aggiungi filtro ... dovrebbe apparire una finestra di dialogo che chiede di entrare in un modello.
  3. Inserite un espressione regolare per le classi che si desidera filtrare nelmodello di filtrare campo quindi fare clic su OK . Nel nostro esempio, inserireorg.springframework .* (vedi immagine sotto). E 'più facile per specificare il nome del pacchetto di livello superiore con un asterisco alla fine.
  4. Aggiungere un altro filtro con il modello * $ Proxy di saltare le classi proxy Primavera (ad esempio quando si usano le transazioni primavera).
  5. Clicca Ok nella finestra di dialogo delle preferenze quando hai finito.

Ecco ciò che il filtro di dialogo modello passo dovrebbe essere simile a:

Ora, quando si utilizza il debugger, non saranno presi in classi primavera quando si utilizza Step Into (F5).

Alcune idee per filtri personalizzati

Oltre alle classi primavera, si potrebbe anche considerare di aggiungere le seguenti librerie comuni per i filtri passo per rendere più facile il debugging:

  • org.apache .*
  • org.hibernate .*
  • com.google .*
  • org.eclipse .*
  • org.osgi .*

Gli ultimi due sono particolarmente utili se si sta facendo Eclipse RCP e / o sviluppo OSGi


Corso Java - Corsi Java - Corsi programmazione Java

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.