How to hide invocation context while debugging quarkus app

166 views Asked by At

I'm debugging a quarkus based app with VSCode. The call stack contains all the machinery that's under the hood, like:

io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:53)
io.quarkus.arc.runtime.devconsole.InvocationInterceptor.proceed(InvocationInterceptor.java:62)
io.quarkus.arc.runtime.devconsole.InvocationInterceptor.monitor(InvocationInterceptor.java:49)
io.quarkus.arc.runtime.devconsole.InvocationInterceptor_Bean.intercept(Unknown Source)
io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:40)

I'd prefer the hood closed! Also, when stepping into/out of methods, the debugger takes me to this code I'm not interesting in. I'm not debugging Quarkus, but my app!

Is there a setting somewhere to hide this stuff?

1

There are 1 answers

0
Ladicek On

If you don't want to step into Quarkus code while debugging, you should configure your IDE to skip io.quarkus.* methods. For example, in IntelliJ IDEA, you'd go into Settings / Build, Execution, Deployment / Debugger / Stepping, enable Do not step into the classes, and add the filter.

You can also turn off CDI monitoring by setting quarkus.arc.dev-mode.monitoring-enabled=false. That will get rid of io.quarkus.arc.runtime.devconsole.InvocationInterceptor completely.