Community
Participate
Working Groups
There seems to be an issue with the "Step Over" function resulting in a very slow performance. Consider the following example with an arbitrary function "calculate()" and break points in line 1 and 4: x1: calculate(); 2: calculate(); 3: calculate(); x4: calculate(); Running the code without break point takes ~1 second. If I continue from line 1 with resume (F8) the running time is comparable. However, if I use step over (F6) it takes several minutes to come to line 2. I tried to localize the time consuming part but it doesn't seem to be always the same part. More frequently Array calls or stream filter calls takes a lot of time. Furthermore, maybe connected to the above issue. Sometime it happens that Eclipse doesn't react to continuing/resuming operations (F7,F8) and always use the step over function. It even happens although no breakpoints are set in this part of the code which makes debugging impossible.
The slowness may be a result of the "Show method result..." setting in Preferences > Java Debug. The reason is that for this feature "Method Exit Events" are observed, and that causes the JVM to disable the Just-In-Time compiler for the involved methods. In that case, you have to options: - Disable that setting - If no recursive invocations are involved, use "Run to Line" instead of "Step-Over"
I have already disabled this setting. It improved the runtime a bit but still it is very slow as desribed. "Run to line" works fine comparable to "resume". Only "Step over" causes problems.
can you try disabling "Advanced Source lookup" Preference under Java>Debug ?
Still the same performance.
I also suffer from this just about every day.
For me the slowness is during stepping over a method that eventually calls SSLContext.getInstance("TLS"). Put a breakpoint immediately after the method that calls SSLContext.getInstance("TLS") and step over works reasonably quickly.
Created attachment 275239 [details] Project for slow debugging with oracle jdbc Project for showing slow step over/into/return on method OracleDriver.connect()
Hi, Same trouble with Step Into/Step over/ Step return on OracleDriver().connect(...) (ojdbc8) It takes at least 45seconds to step over this method. If stopped at the line and then skipping all breakpoints (CTRL+ALT+B) or resuming, there's no performance issue. If stopped after the line, no performance issue. Not sure if you have Oracle databe, but here's a project for reproducing. It contains a main method calling new OracleDriver().connect(...)