Шаг через исходный код JDK в ИДЕЕ IntelliJ

Да, это возможно:

public class Foo {
    private int x;

    public Foo() {
        this(1);
    }

    public Foo(int x) {
        this.x = x;
    }
}

Для объединения в цепочку к конкретному конструктору суперкласса вместо одного в том же классе используйте super вместо this. Обратите внимание, что можно только объединить в цепочку одному конструктору , и это должен быть первый оператор в теле конструктора .

Видят также этот связанный вопрос , который является о C#, но где те же принципы применяются.

53
задан Hearen 10 March 2019 в 16:07
поделиться

3 ответа

Если вы посмотрите в [Меню Файл ->] Настройки -> Отладчик -> Шаги, вы увидите список «Не входить в эти классы», вероятно, с указанным там «java. *» . Так ли это? Вы можете отключить это там.

Очевидно, отладочная информация недоступна. Согласно этот поток :

К сожалению, классы JDK лишены отладочной информации для параметров и локальной переменной.

Несколько лет назад я подал запрос, чтобы Idea вывести необходимую информацию из исходного кода ( в основном преобразование имен переменных в индексы в методы local var):
Отладчик: Показывать информацию о переменных при отсутствии отладочной информации

Пожалуйста, проголосуйте / прокомментируйте.

В качестве обходного пути вы можете повторно скомпилировать JDK из источников,

39
ответ дан 7 November 2019 в 08:45
поделиться

ОБНОВЛЕНИЕ : IntelliJ IDEA 13+ версии может предоставлять локальные переменные информация без отладочной информации .

Классы Java, которые являются частью JDK, компилируются без отладочной информации по причинам размера и производительности. Если вам нужна отладочная информация в этих классах, вам необходимо либо установить версию JDK для разработки, в которой классы построены с использованием отладочной информации, либо перестроить части JDK, которые вы хотите отлаживать из источника, с включенной отладочной информацией и настроить новый JDK с этими версиями классов в jar-файлах.

Этот поток предоставляет инструкции, как перестроить классы JDK в rt.jar из исходного кода с отладочной информацией.

PS Этот вопрос не относится к IntelliJ ИДЕЯ.

27
ответ дан 7 November 2019 в 08:45
поделиться

настройка - компилятор - java Compiler - java options, вы должны проверить параметр «генерировать отладочную информацию», тогда он будет компилироваться с отладочной информацией.

0
ответ дан 7 November 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: