Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[edt-dev] Debug type filters added to tonight's build

Hi all,

An extensible type filter framework has been added to the Java debugger (as well as some stock filters). If you go to Preferences > EGL > Debug > Java Debugging you can enable/disable various categories. You can also define your own filters using JDT's step filters. You can also control how we filtered out the types (do we keep running "step into" requests, or a "step return" request? "step into" allows you to step "through" a filtered type into a non-filtered type, but it's much slower than running a "step return". It's up to you which gets used for each filter category).

There's a quick toggle located in the popup menu for the Debug view (that downward-triangle to the right of the stepping buttons). Just expand the EGL submenu to see the "Enable Filters" toggle, as well as a quick link to the preference page for configuration.

Now that we have a way in the UI for you to enable/disable filters, I've removed the VM argument that used to be available to disable filters (-Dedt.debug.filter.runtimes=false now has no effect). Toggling enablement takes immediate effect, you do not need to restart the debugger.

We used to also have some funky stepping support; for example if you put a breakpoint inside filtered type "pkg.Foo" and then did a "step over", we would ignore the fact that "pkg.Foo" should be filtered this particular time and would allow it to suspend on the next line. The change now is that, with the exception of hitting a breakpoint, if a type is configured to be filtered out then we will not suspend inside it. So in the previous example the "step over" in "pkg.Foo" would not suspend on the next line of "pkg.Foo", rather it will continue to step through the code until a non-filtered type is encountered. If you want to step through a filtered type, simply disable its filter (e.g. disable the JRE filter and you can step through the JRE classes).

For information on how to contribute filters, see http://wiki.eclipse.org/EDT:Debug_Extensibility

Let me know if you have any questions about this.

-Justin

Back to the top