Подтвердить что ты не робот

Как заставить IntelliJ только войти в мой исходный код?

У меня есть проект Spring MVC, который я пытаюсь отлаживать с помощью IntelliJ.

Если я установил точку останова в моем коде контроллера, отладка остановится в соответствующем месте. У этой конкретной линии больше моего собственного кода в другом bean. Я хотел бы иметь возможность войти в код. Если я "вступаю" сразу после контрольных точек останова, он переходит в Spring код рамки AOP.

enter image description here

Если я запускаю одну и ту же точку останова и "умный шаг в" сразу, она помещает меня в строку -1 исходного файла (как показано на рисунке выше). Что означает эта строка -1? Если я снова сделаю "умный шаг в", я окажусь на линии после моей исходной точки останова, но никогда не был помещен внутри метода, в который я хотел войти.

Я попытался поместить пакет Spring AOP в настройку отладчика Не входить в классы. Тем не менее, мне также пришлось заняться транзакционными классами, а также несколькими другими. В конце я поместил все Spring в список... и SLF4J и некоторые драйверы JDBC.

Как я могу просто заставить IntelliJ останавливаться только в исходном коде проекта, если я не использую что-то вроде "force step into"?

4b9b3361

Ответ 1

В настоящее время нет общей опции для целевого кода пользователя (например Visual Studio 'Just My Code').

Лучший способ иметь такое же поведение - исключить определенные классы или пакеты кода (можно настроить шаблоны фильтров для пакетов классов с помощью подстановочных знаков), которые не будут "входить".

Это может быть достигнуто в Настройки/Предпочтения в параметрах Отладка/Шаги.

Ответ 2

Весенний АОП может быть одним из худших преступников.

ОП предположил, что они уже сделали это, но вот как вы можете отключить вход в указанные классы (IntelliJ ULTIMATE 2018.2):

FileSettings...Build, Execution, DeploymentDebuggerStepping

... Do not step into the classesAdd PatternEnter the filter pattern:

...... org.springframework.aop.*

Обратите внимание, что вы можете использовать подстановочные знаки для отключения целых пространств имен - так, например, предполагая, что пространство имен вашей организации начинается с com, вы можете получить большую часть пути, занеся в черный список org.*.

Ответ 3

IntelliJ ULTIMATE 2018.3 Использование FileSettings → search 'Step' следующим образом: enter image description here

Ответ 4

Еще один способ в "Ultimate 2019.1" (может быть и в предыдущих версиях):

Когда вы сейчас отлаживаете, вы можете щелкнуть правой кнопкой мыши по классу в представлении "Отладчик" - "Кадры". Затем вы можете выбрать "Добавить пошаговый фильтр..." и добавить для этого класса новый пошаговый фильтр. Конечно, вы также можете изменить новый пошаговый фильтр, используя заполнитель "*" и так далее...