albfan
albfan

Reputation: 12940

debug an evaluate expression on intellij

Using evaluate expression/code fragment:

https://www.jetbrains.com/idea/help/evaluating-expressions.html

Is it possible to debug evaluated expression/code fragment on intellij?.

On eclipse if you launch a code evaluation on display window and that code has any breakpoint inside, eclipse debugger stops on that breakpoint. If you try again eclipse says it can execute inspections on nested debug session.

Intellij seems to launch expression in a different session.

My workflow on this is to stop on "whatever line" of code and add fragment I want to evaluate for a Q&D debug. Many times this leads to a debug restart.

Upvotes: 36

Views: 28856

Answers (3)

buxer
buxer

Reputation: 21

Alt + F8 is the shortcut for evaluation of an expression or variable.

However, you can also select the variable, right click on it and evaluate as explained in this article.

Upvotes: 2

Karthik P
Karthik P

Reputation: 481

The feature is not available in IntelliJ IDEA 2019.2

The workaround I use is to update the code as follows,

                    Boolean shouldExecute = false;
                    if(shouldExecute){
                        //method call
                    }

During the debug session, I will change shouldExecute flag to true. This way I can debug the method call when needed.

Of coarse this is just a workaround, I need to remove this flag later.

Upvotes: 1

Andrew Terekhine
Andrew Terekhine

Reputation: 1521

Unfortunately it's not possible in Intellij 14 and stated in the official link you provided:

If a method invoked within the Expression Evaluation has a breakpoint inside its body, this breakpoint will be ignored.

To eliminate the problem you mentioned with frequent restarting of a debug session I use the following work-around with the drop-frame debug feature:

  1. Step in to a method and before return use the drop-frame functionality to fall back to a previous stack frame. See the drop-frame icon's location on the screenshot below: enter image description here
  2. Now it's possible to rerun this method with different parameters without restarting the debug session (parameters can be set using Evaluate Expression dialog).

Upvotes: 31

Related Questions