Пошаговый просмотр исходного кода JDK в IntelliJ IDEA - PullRequest
52 голосов
/ 21 августа 2009

Как пройти по исходному коду JDK в IntelliJ IDEA 7 и посмотреть информацию об отладке? В настоящее время я могу нажимать точки останова и проходить через код, но информация отладки недоступна. Это означает, что я не вижу значения локальных переменных.

Я хочу пошагово просмотреть исходный код одного класса, если это имеет значение.
Что бы это ни стоило, это класс javax.swing.text.html.HTMLDocument, и у меня есть копия соответствующего файла .java.

Ответы [ 6 ]

38 голосов
/ 21 августа 2009

Если вы посмотрите в [File menu ->] Settings -> Debugger -> Stepping, вы увидите список «Не входите в эти классы», вероятно, с «java. *», Перечисленным там. Это тот случай? Вы можете отключить это там.

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

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

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

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

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

Интересно, что вы можете загрузить бета-версию Java 6u18, в которой есть отладочная информация (в комплекте DEBUG).

27 голосов
/ 22 августа 2009

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

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

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

P.S. Этот вопрос не относится к IntelliJ IDEA.

14 голосов
/ 24 апреля 2013
  1. Установите JDK
  2. Добавить путь src.jar
    1. Перейти к: Структура проекта (настройки проекта)> Настройки платформы> SDK> Sourcepath
    2. Добавить путь к src.jar
      • Пример OSX: /Library/Java/JavaVirtualMachines/1.6.0_45-b06-451.jdk/Contents/Home
      • Пример Windows: C: \ Program Files \ Java \ jdk1.7.0_03 (проверьте 32-битную Программу (x86))
    3. Дождитесь индексации!
  3. Удалить фильтр отладчика
    1. Перейдите: Настройки> Отладчик> Шаг
    2. Снимите флажки с пакетов, которые вы хотите, например, javax. *
3 голосов
/ 29 августа 2012

Наряду с информацией «Не входить в эти классы» необходимо настроить файл src.jar. Щелкните правой кнопкой мыши проект, выберите «Открыть настройки модуля». В разделе «Настройки платформы» выберите «SDK». Выберите версию Java SDK, которую вы используете. Выберите вкладку Sourcepath, нажмите кнопку «+» и добавьте свой файл src.jar из JDK (или загрузите отдельный источник для OSX JDK). Это позволит вам открывать классы JDK и переходить к ним во время отладки.

1 голос
/ 27 сентября 2012

Я сделал это на своем Mac, чтобы получить исходный код для Android, но подобный подход должен работать для вас.

  • Файл> Структура проекта

  • Выбранные «SDK» в настройках платформы.

  • Выбранный "Android SDK"

  • Выбранная вкладка "Исходный путь"

  • Нажатие "+"

  • Просмотр местоположения моего исходного кода Java

0 голосов
/ 29 октября 2009

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

...