2013-12-13 12 views
34

Ho un progetto Spring MVC che sto cercando di eseguire il debug utilizzando IntelliJ.Come forzare IntelliJ a inserire solo il mio codice sorgente?

Se si imposta un punto di interruzione nel mio codice controller, il debug si ferma nella posizione appropriata. Quella linea particolare ha più del mio codice in un altro bean. Mi piacerebbe essere in grado di entrare nel codice. Se "passo" immediatamente dopo i punti di interruzione del breakpoint, passa al codice di framework AOP di Spring.

enter image description here

Se io attivare lo stesso punto di interruzione e "intelligente passo nella" immediatamente, mi mette alla linea -1 del file sorgente (evidente nel grafico sopra). Che cosa significa questa linea -1? Se faccio "smart step into" di nuovo, finisco sulla linea dopo il mio breakpoint originale, ma non sono mai stato inserito nel metodo in cui volevo entrare.

Ho provato a inserire il pacchetto Spring AOP nell'impostazione Debugger Non entrare nelle classi. Tuttavia, ho anche finito per dover mettere in classi di transazione e molti altri. Alla fine, ho inserito tutto Spring nell'elenco ... e SLF4J e alcuni driver JDBC.

Come posso semplicemente fare in modo che IntelliJ si fermi nel mio codice sorgente del progetto a meno che non utilizzi qualcosa come "force step into"?

+5

nell'impostazione "Non calpestare le classi" è possibile dichiarare un modello utilizzando il carattere jolly. Questo può aiutare a escludere rapidamente pacchetti come "org. *" E "com. *", Supponendo che il tuo non inizi con quelli. Sarebbe una soluzione perfetta per te essere in grado di usare la negazione ('!') In quei pattern - Suggerirei di inviarlo come richiesta di una funzione. –

+0

C'è una relativa [richiesta di funzionalità per IntelliJ IDEA] (http://youtrack.jetbrains.com/issue/IDEA-54807), si prega di votare. - [IDEA-54807] (http://youtrack.jetbrains.com/issue/IDEA-54807) Consenti alle impostazioni del progetto di avere il proprio Debug Stepping e aggiungi [Solo passaggio nelle classi] per la produttività – CrazyCoder

risposta

26

Attualmente non esiste un'opzione globale per il solo targeting del codice utente (come Visual Studio's 'Just My Code').

Il modo migliore per avere lo stesso comportamento è quello di escludere classi o pacchetti di codice specifici (è possibile impostare modelli di filtro per pacchetti di classi tramite caratteri jolly) che non verranno "introdotti".

Ciò può essere ottenuto entro i Impostazioni/Preferenze, nel Debugger/Stepping opzioni.

Problemi correlati