Отладчик не показывает новую переменную в кадре стека - PullRequest
0 голосов
/ 21 сентября 2018

Может кто-нибудь сказать мне, почему отладчик не показывает переменную 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 голосов
/ 21 сентября 2018

Эта переменная не используется, и компилятор javac оптимизирует байт-код, полностью удаляя его.Вы можете добавить некоторое использование для переменной, например, зарегистрировать ее так System.out, и тогда вы сможете увидеть ее в отладчике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...