Java Eclipse 中带条件的异常断点

Java exception breakpoint with condition in Eclipse

有什么方法(包括第三方插件)可以在 Eclipse 中创建一个 Java 异常断点 只有在条件为真时才中断 吗?

当前用例:我正在尝试捕获特定 class 的 ClassNotFoundException 以便调试 class 加载问题.不幸的是,我的断点确实捕获了 Tomcat 启动时发生的数千个不相关的例程异常。我想告诉 Eclipse 仅在 -1 < e.getMessage().indexOf(MY_CLASS_NAME).

时中断

求助!?

更新: 好几个回答都建议在异常属性中右击异常,点击条件断点。我已经试过了。至少 Eclipse Luna Release 2(v 4.4.2,build id 20150219-0600),此选项不适用于 exception 断点.

为清楚起见,这是我的异常断点属性的图片:

右击你的断点,菜单的最后一行:'Breakpoint properties'。您会发现带有 'Conditional' 的复选框。那么你只需要在编辑框中添加-1 < e.getMessage().indexOf(MY_CLASS_NAME)

右击你的断点! -> 属性 -> 条件断点

没有选项可以为类似于普通断点的异常断点添加条件。您可以做的最接近的事情是使用 Filtering 属性页面在断点上添加过滤器,例如 class and/or 抛出异常的包。或者您可以在调试时过滤特定线程。

有关详细信息,请参阅 http://help.eclipse.org/juno/topic/org.eclipse.jdt.doc.user/tasks/tasks-create-exception-filter-expression.htm