配置eclipse调试器来过滤掉导航堆栈时我没写的库方法?

时间:2015-07-20 15:07:19

标签: java eclipse debugging

我在代码中使用了许多框架,boot,hibernate等,包括增强和生成代码。当我调用看起来像一个简单的代码方法时,它将通过CglibAoPProxy和类似的方法调用我想要的方法。这意味着如果我想查看下一段代码,我需要遍历5层堆栈跟踪代码我认为是功能性的(因此无需跟踪它的逻辑)以获得下一个方法我亲自编写的代码,或者添加断点以及我要打破的地方,点击运行,然后删除断点。

如果有一种简单的方法可以告诉调试器我只想查看我的代码,那会更好。如果我进入某个库实现的方法,只需继续运行,直到它到达我编写的库的下一行代码。是否有一种简单的方法来配置调试器来执行此操作?只关心我个人在踏入某些东西时编写的代码?

同样,当我想向后移动堆栈跟踪时,要查看较早的阶段状态,这非常困难。由于库中有如此多的方法,很难找到包含我亲自编写的代码的方法。有没有办法只突出你的方法(比如来自当前工作集的方法)或堆栈跟踪中类似的东西?

1 个答案:

答案 0 :(得分:1)

Step filters可能有所帮助。

  1. 打开Eclipse首选项。例如,在Windows上,使用菜单项 Windows>首选项
  2. 导航至 Java>调试>步骤过滤
  3. 启用复选框使用步骤过滤
  4. 在标题为已定义步骤过滤器的复选框列表中,启用您要跳过的包层次结构的复选框。使用旁边的按钮添加其他过滤器。
  5. 所有这一切,我没有使用步骤过滤,直到你的问题让我调查它。还不确定我个人在调试时跳过代码的感受。但是默认过滤器列表中的最后一项 - java.lang.ClassLoader - 看起来非常有用。