如何强制IntelliJ只进入我的源代码?

dbr*_*708 61 debugging intellij-idea

我有一个Spring MVC项目,我正在尝试使用IntelliJ进行调试.

如果我在Controller代码中设置断点,则调试将在适当的位置停止.该特定行在另一个bean中有更多我自己的代码.我希望能够进入代码.如果我在断点装配后立即"进入",它将进入Spring的AOP框架代码.

在此输入图像描述

如果我立即触发相同的断点并"智能进入",它会将我放在源文件的第-1行(如上图所示).这条线-1是什么意思?如果我再次"聪明地进入",我最终会在我原来的断点之后排成一行,但从未被放入我想要进入的方法中.

我已经尝试将Spring AOP包放入调试器设置中.不要进入类.但是,我最终也不得不放入交易类以及其他几个类.最后,我将所有Spring放入列表......以及SLF4J和一些JDBC驱动程序.

我怎么能让IntelliJ只停留在我的项目源代码中,除非我使用类似"强制进入"的东西?

aco*_*tos 42

目前没有唯一的选项来只定位用户代码(如Visual Studio的'Just My Code').

具有相同行为的最佳方法是排除特定的代码类或包(可以通过通配符设置类包的过滤模式),这些代码类或包不会"进入".

这可以在" 调试器/步进"选项的"设置/首选项"中实现.


nob*_*bar 18

Spring的AOP可能是最严重的罪犯之一.

OP建议他们已经这样做了,但是这里是如何禁用步进到指定的类(IntelliJ ULTIMATE 2018.2):

File- > Settings...- > Build, Execution, Deployment- > Debugger- >Stepping

... Do not step into the classes- > Add Pattern- >Enter the filter pattern:

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

请注意,您可以使用通配符来禁用整个名称空间 - 例如,假设您的组织的名称空间以"名称空间"开头com,您可以通过将其列入黑名单的大部分内容org.*.

  • 完美的答案! (2认同)

huo*_*125 7

IntelliJ ULTIMATE 2018.3 使用File-> Settings-> 搜索“步骤”如下: 在此处输入图片说明


Ste*_*fen 5

《终极2019.1》中的另一种方式(以前的版本中也可能有):

当您现在进行调试时,您可以在“调试器”-“框架”视图中的类上单击鼠标右键。然后您可以选择“添加步进过滤器...”并为该类添加一个新的步进过滤器。当然,您也可以在这里更改新的步骤过滤器,使用占位符“*”等......