Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DebuggerStepThrough equivalent for Java

.NET has a couple of handy annotations that instruct a debugger to step through/over certain methods. I would like to know if there is an equivalent that works on the Java platform.

For instance:

@DebuggerStepThrough
public void foo() {
  ..
}

would cause the debugger to not stop in foo when stepping.

What I tried

  • using the SYNTHETIC flag in the classfile. This causes javac to forbid user-code calling such methods.
  • custom attributes. There is no JDI API to retrieve annotations. Also mentioned on this forum.

PS. I am implementing a debugger and have control over the bytecode that is emitted

like image 960
Iulian Dragos Avatar asked Nov 15 '12 09:11

Iulian Dragos


1 Answers

AFAIK, not as a stock feature, no.

Otherwise I can also recommend having a look at eclipse debugger's "Step filter" and "conditional breakpoint" features. It allows you to ignore certain types (step filter) or only halt on certain runtime conditions (conditional breakpoints).

like image 127
Michael Heß Avatar answered Oct 25 '22 00:10

Michael Heß