调试intellij上的计算表达式

时间:2015-09-15 11:56:11

标签: java eclipse debugging intellij-idea

使用evaluate表达式/代码片段:

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

是否可以在intellij上调试评估的表达式/代码片段。

在eclipse上如果你在显示窗口上启动代码评估并且该代码里面有任何断点,eclipse调试器会在该断点上停止。如果你再试一次,eclipse说它可以在嵌套的调试会话上执行检查。

Intellij似乎在不同的会话中启动表达式。

我的工作流程是停止“代码的任何一行”并添加我想要评估的Q& D调试片段。很多时候这会导致调试重启。

2 个答案:

答案 0 :(得分:23)

不幸的是,它在Intellij 14中不可能,并在您提供的官方链接中说明:

  

如果在表达式评估中调用的方法在其主体内部有断点,则该断点将被忽略。

为了消除频繁重新启动调试会话时提到的问题,我使用以下解决方案来处理丢帧调试功能:

  1. 介入方法并在返回之前使用丢帧功能回退到先前的堆栈帧。请参阅以下屏幕截图中的丢帧图标位置: enter image description here
  2. 现在可以使用不同的参数重新运行此方法,而无需重新启动调试会话(可以使用“评估表达式”对话框设置参数)。

答案 1 :(得分:0)

该功能在IntelliJ IDEA 2019.2中不可用

我使用的解决方法是按如下方式更新代码,

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

在调试会话期间,我将 shouldExecute 标志更改为true。这样,我可以在需要时调试方法调用

粗略地说,这只是一种解决方法,我需要稍后删除此标志。