venerdì 4 luglio 2014

Saltare alcune classi quando si utilizza Step Into nel debugger di Eclipse

Ogni volta che uso la Step Into funzione (F5) in debugger di Eclipse, sono interessati soprattutto a passo tramite il codice nelle mie classi, non quelli provenienti da librerie esterne o addirittura classi Java.
Ad esempio, non c'è quasi alcun motivo per desiderare di entrare nel codice o del proxy classi di primavera (diversi da quelli per saperne di più su di loro o forse il debug di un potenziale bug in primavera).E normalmente io non sono interessato a classi Java util (es. ArrayList). Questo vale anche per Hibernate, Apache Commons, Google e molte altre librerie esterne.
Fortunatamente, Eclipse, è facilissimo specificare quali classi di saltare consentendo filtri passo. Questo rende più facile concentrarsi sul proprio codice e mantiene anche la vostra zona redattore puliti, perché Eclipse non sarà l'apertura classi in editor separati per tutto il tempo.

Abilita Step Filtri

Per utilizzare i filtri step, il primo passo è quello di consentire esso. Eclipse è dotato di alcuni filtri predefiniti quindi cominciamo consentendo loro tutti. Questo filtrerà tutte le classi Java (es. java. * ) e tutte le classi Sun (es. il sole. * ).
  1. Vai a Finestra> Preferenze> Java> Debug> Passaggio filtrante .
  2. Selezionare l'opzione Usa filtri Passo .
  3. Fare clic su Seleziona tutto per consentire a tutti i filtri.
  4. Lasciare le altre opzioni di seguito l'elenco di filtri come-è.
Ecco un esempio di quello che dovrebbe essere simile:
NB: Anche con i filtri attivati ​​passo, si può ancora breakpoint all'interno di una qualsiasi di queste classi set (se avete la fonte) e Eclipse sarà ancora fermarsi al punto di interruzione. Passaggio filtrante influisce solo sul modo in cui Step Into opere.
Si noti inoltre che Eclipse sarà ancora un passo nelle vostre classi se si chiamano dalle classi ignorati. Ad esempio, quando si chiama Collections.sort (List, comparatore) e passare il proprio comparatore diimplementazione, Eclipse non sarà un passo nel codice ordinamento, ma sarà un passo nel tuo comparatore quando viene chiamato dal codice ordinamento.
Se si desidera modificare questo comportamento (cioè impedire Eclipse di fermarsi nel metodo), quindi deselezionate passaggio attraverso i filtri. Comunque, io consiglierei di fare solo questo se hai provato il default, perché il più delle volte probabilmente vi vuole passare tramite il proprio codice.
Il passo successivo è quello di creare dei filtri passo della vostra.

Creare i propri filtri passo

Dopo aver attivato i filtri passo, tutto quello che dovete fare è aggiungere le classi che si desidera filtrare.Supponiamo che vogliamo ignorare tutte le classi di Primavera, in particolare le classi proxy.
  1. Se non siete già lì, vai a Finestra> Preferenze> Java> Debug> Passaggio filtrante .
  2. Fare clic su Aggiungi filtro ... Una finestra dovrebbe apparire che richiede di inserire un pattern.
  3. Inserisci un espressione regolare per le classi che si desidera filtrare in Pattern per filtrare campo quindi fare clic su OK . Nel nostro esempio, immettere org.springframework. * (vedi immagine sotto). E 'più facile per specificare il nome del pacchetto di livello superiore con un asterisco alla fine.
  4. Aggiungi un altro filtro con il pattern Proxy $ * a saltare le classi proxy di primavera (es. quando si utilizza Transazioni primavera).
  5. Fare clic su OK nella finestra di dialogo delle preferenze quando hai finito.
Ecco ciò che il dialogo step del pattern del filtro dovrebbe essere simile:
Ora, quando si utilizza il debugger, non sarete presi in classi primavera, quando si utilizza Step Into (F5).

Alcune idee per filtri personalizzati

Oltre alle classi primavera, si potrebbe anche prendere in considerazione l'aggiunta dei seguenti librerie comuni per i filtri passo per rendere più facile il debug:
  • 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.

Nessun commento:

Posta un commento

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