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

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

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

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

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

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

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

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

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

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

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

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

В этом streamе содержатся инструкции по восстановлению classов JDK в rt.jar из исходного кода с информацией об отладке.

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

  1. Установите JDK
  2. Добавить путь src.jar
    1. Перейдите к: Структура проекта (параметры проекта)> Настройки платформы> SDK> Исходный путь
    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 (проверьте программу (x86) для 32-разрядной версии)
    3. Подождите долгое время для индексации!
  3. Удалить фильтр отладчика
    1. Перейдите к: Настройки> Отладчик> Шаговый
    2. Снимите флажок, который вы хотите, например, javax. *

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

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

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

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

  • Выбранный «Android SDK»

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

  • Нажато “+”

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

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

  • Запуск приложения в GDB до тех пор, пока не произойдет исключение
  • Как отлаживать проекты библиотеки внешних classов в visual studio?
  • Что такое «случайное исключение»?
  • Инструмент разработки Chrome: файл из javascript
  • Как я могу увидеть исходный файл C / C ++ после предварительной обработки в Visual Studio?
  • Как получить аварийную свалку
  • Как отлаживать веб-сайты на мобильных устройствах?
  • Как отладить скрипт Greasemonkey с расширением Firebug?
  • Удаленная отладка приложения Java
  • Visual Studio 2010 «Не удается найти или открыть файл PDB»
  • ERROR 1066: невозможно открыть iterator для псевдонима в Pig, Generic solution
  • Interesting Posts

    Как изменить обои в iPad программно?

    Есть ли способ показать уведомление из сценария bash в Ubuntu?

    Есть ли замена на основе задачи для System.Threading.Timer?

    Получение размеров мягкой клавиатуры

    Какие языки программирования могут использоваться для разработки в Android?

    Могу ли я выполнить одноразовый поиск содержимого файла в Windows Server 2008 без добавления папки в индекс?

    Тип одного из выражений в предложении соединения неверен в Entity Framework

    rails server bin / rails: 6: предупреждение: уже инициализированная постоянная ошибка APP_PATH

    Очистка Mac OS X

    Android: требуется запись микрофонного входа

    Генерировать случайные числа после нормального распределения в C / C ++

    google map не отображается после публикации приложения для Android?

    Есть ли в Entity Framework 4 Code First поддержка генераторов идентификаторов, таких как NHibernate?

    Обработчики событий jQuery всегда выполняются так, чтобы они были связаны – каким-то образом?

    Условные имена classов не поддерживают ошибку в WebDriver

    Давайте будем гением компьютера.