调试器在堆栈框架中不显示新变量

时间:2018-09-21 02:11:22

标签: java intellij-idea ide stack

有人可以告诉我,为什么调试器没有在堆栈帧中显示变量j(使用IntelliJ IDEA)?

for (int i = 0 ;  i < 10; i++) {
        int j = 100;
    }

i = 0,变量j应该被创建一次,然后从堆栈中删除,然后i = 2时,j应该被加载到堆栈中,但是IntelliJ调试工具却没有。一次没有显示j的创建,问题出在哪里?谢谢

屏幕截图:

  1. enter image description here

  2. enter image description here

  3. enter image description here

有一个工具,请尝试https://cscircles.cemc.uwaterloo.ca/java_visualize/#

1 个答案:

答案 0 :(得分:3)

不使用此变量,javac编译器通过完全删除字节码来优化它。您可以为变量添加一些用法,例如将其记录为System.out,然后应该可以在调试器中看到它。