Ich habe ein Spring MVC-Projekt, das ich mit IntelliJ debuggen möchte.
Wenn ich in meinem Controller-Code einen Haltepunkt setze, stoppt das Debugging an der entsprechenden Stelle. Diese bestimmte Zeile enthält mehr von meinem eigenen Code in einer anderen Bean. Ich möchte in den Code eintreten können. Wenn ich unmittelbar nach den Breakpoint-Riggern "einsteige", tritt es in den AOP-Framework-Code von Spring ein.
Wenn ich sofort denselben Haltepunkt und "Smart Step In" auslöse, werde ich in Zeile -1 der Quelldatei angezeigt (siehe Abbildung oben). Was bedeutet diese Zeile -1? Wenn ich wieder "Smart Step In" mache, lande ich an der Linie nach meinem ursprünglichen Haltepunkt, wurde aber nie in die Methode eingefügt, in die ich eintreten wollte.
Ich habe versucht, das Spring AOP-Paket in die Debugger-Einstellung zu setzen. Gehen Sie nicht in die Klassen . Am Ende musste ich jedoch auch Transaktionsklassen und mehrere andere eingeben. Am Ende habe ich den ganzen Frühling in die Liste aufgenommen ... und SLF4J und einige JDBC-Treiber.
Wie kann ich IntelliJ dazu bringen, nur in meinem Projektquellcode anzuhalten, wenn ich nicht so etwas wie "Force Step In" verwende?
Do not step into classes
Einstellung können Sie ein Muster mit einem Platzhalter deklarieren. Dies kann hilfreich sein, um Pakete wieorg.*
und schnell auszuschließencom.*
, vorausgesetzt, Ihre beginnen nicht mit diesen. Es wäre eine perfekte Lösung für Sie, negation (!
) in diesen Mustern verwenden zu können. Ich würde vorschlagen, dies als Funktionsanforderung zu senden.