3

在调试我的应用程序时,在我的程序执行周期中直接进入下一步的方法是单击“Step Into”。问题是我几乎总是在 Java 类库的类中结束,我对这些类不感兴趣,所以我从那些带有“Step Return”的类中脱颖而出。

有没有办法“进入”我的代码但跳过我没有编写的代码?

4

4 回答 4

5

使用步进过滤

  • Eclipse中,打开Preferences > Java > Debug > Step Filtering(或在Preferences搜索框中键入step )。
  • 单击使用步骤过滤器以启用它。
  • 启用您想要避免进入的包通配符。为了避免 Java 语言包,它应该是java.*. 我也推荐其他默认值,例如javax.*.
  • 如果需要,您可以添加更多自定义过滤器(例如,如果您导入了 JAR 库,则可以添加其最通用的包通配符,例如apache.common.*)。
  • 您可以在过滤器列表下方选择其他选项。关于逐步过滤器选项的注意事项:

此选项控制步进过滤器始终从过滤位置返回或逐步进入未过滤位置。
例如,如果java.util是过滤位置,则单步执行代码HashMap可能会导致回调您的应用程序代码以检查对象的相等性。如果您选择单步执行过滤器,则单步执行最终会出现在您的应用程序代码中。但是,当禁用Step through filtersHashMap选项时,step into将表现得像 step over。
资源

  • 单击应用 > 确定

您可以使用工具栏中的“使用步骤过滤器 使用步进过滤器 (Shift+F5)”选项或“运行”菜单轻松启用/禁用步骤过滤器。快捷方式:Shift-F5

于 2013-07-22T10:11:06.530 回答
0

使用断点。假设您有类似的代码

lineX
lineY
lineZ

您目前在 X 行,并且知道 Y 行将使用您不感兴趣的 Java / 库代码执行某些操作,您可以在 Z 行放置一个断点并直接移动到该行(在 Eclipse 中,您按 F8 转到下一个断点)。行 Z 可以在不同的类或方法中,因此您需要知道下一个可执行行的位置才能正确应用断点。

于 2013-07-22T09:59:32.167 回答
0

我认为 Step Out 将允许您在访问 Java 代码后执行此操作。如果没记错的话,这是F7的快捷方式

于 2013-07-22T10:08:20.530 回答
0

不。

你不能“进入”并跳过你没有写的代码。

但是,您可以做的是使用更多断点并使用“恢复”简单地转发到下一个断点

于 2013-07-22T09:55:19.520 回答