Дополнительные возможности отладки объектов JavaBean

Как правило, в процессе разработки вам не придется иметь дело с виртуальной машиной Java, которая используется в каждом экземпляре визуального редактора для Java. Однако подготовленные пользователи могут настроить рабочую среду так, чтобы все сообщения, посылаемые в System.out или System.err виртуальной машины, записывались в файл протокола в каталоге .metadata, находящемся в рабочей области.

Объекты JavaBean и рабочая среда выполняются в разных виртуальных машинах Java. Для каждого экземпляра визуального редактора создается отдельная виртуальная машина. Путь к классам этой машины задается в записи пути для компоновки Java данного проекта. Если путь для компоновки Java был изменен во время работы визуального редактора, то для применения изменений необходимо перезапустить все экземпляры редактора.

Рабочую среду можно запускать с параметром -DEBUG, указывающим на текстовый файл:

-DEBUG file:/c:/temp/options.txt

Файл отладки используется визуальным редактором. Все сообщения, отправленные в System.out или System.err, отображаются в консоли, если в файле есть приведенная ниже строка:

org.eclipse.jem.proxy/remote/debug/vmtraceout=true

Виртуальная машина, используемая визуальным редактором, поддерживает вывод на консоль, кроме этого, вы можете запускать объекты в режиме отладки, а также выполнять удаленную отладку. Этот сценарий не оптимизирован и в следующих версиях визуального редактора для Java может быть изменен. Тем не менее, он включен в документацию на тот случай, если вам понадобится отлаживать объекты Java во время проектирования. Для удаленной отладки потребуется запустить одновременно две рабочие среды: в одной должны находиться отлаживаемые объекты Java, а другая будет выполнять непосредственно отладку с помощью сокета. Обе рабочие среды могут находиться как в одной, так и в разных системах. Для того чтобы разрешить отладку виртуальной машины визуального редактора для Java, файл -DEBUG должен содержать приведенную ниже строку:

org.eclipse.jem.proxy/remote/debug/debugvm=true

При каждом запуске виртуальной машины визуальный редактор для Java будет спрашивать, запускать ли ее в режиме отладки.

Предыдущее окно появляется, когда класс HelloFrame.java в проекте Test открыт в визуальном редактором. Если вы ответили Да, то виртуальная машина запустится в приостановленном режиме с опцией -Xdebug с использованием сокета. Открывается порт и сообщается его номер.

Далее следует подключить удаленный отладчик через указанный порт (в данном случае это 7078). Экземпляр рабочей среды, выполняющей визуальный редактор, переводится в режим ожидания на время подключения отладчика, следовательно нужно использовать отладчик из другого приложения. Если другое приложение является экземпляром рабочей среды, то вы можете начать удаленную отладку с помощью пункта меню Отладка> Отладка и создать новую конфигурацию удаленного приложения Java.

Введите номер порта, ранее указанного в stdout, в данном случае - 7078. Если отладчик находится в другой системе, введите в поле Хост IP-адрес отлаживаемой системы. Для запуска удаленного отладчика нажмите Отладка и введите y в консоли stdin отлаживаемой рабочей среды.

Кроме предложения отладить виртуальные машины Java, используемые каждым экземпляром визуального редактора, вы будете получать сообщения, предлагающие отладить сам проект:

Do you want to start the remote vm (Project (Test)-Beaninfo) in debug mode? (Enter Y or N):

Это относится к виртуальной машине Java, которая используется для внутреннего анализа, а также к java.beans.Introspector, который выполняется внутри нее и который можно отличить от виртуальной машины визуального редактора, так как в нем не указано имя исходного файла Java. Эта виртуальная машина запускается при первом запросе на информацию об объекте JavaBean данного проекта и остается активной до закрытия проекта. Отлаживая проект, вы можете просматривать и анализировать любой код в классах BeanInfo по мере внутреннего анализа объектов Java. Внутренний анализ выполняется для каждого класса объекта JavaBean в каждом проекте, в котором он использован. Для повышения производительности результат помещается в кэш. Если в какой-то момент понадобится очистить кэш от информации BeanInfo, относящейся к проекту, нужно закрыть и открыть проект из всплывающего меню.

Связанные концепции
Исключительные ситуации JavaBean
Связанные задачи
Выполнение визуального класса в качестве JavaBean или приложения
Настройка опций для запуска объекта JavaBean или приложения Java
Отладка визуального объекта JavaBean или приложения на Java
Тестирование и развертывание аплетов

(C) Copyright IBM Corporation 1999, 2004. Все права защищены.