2010-02-24 4 views
6

Мне очень хотелось бы узнать, как отлаживать Eclipse IDE. К тому времени, когда я использовал VS для разработки .NET, я могу приложить VS к процессу в любое время и начать отслеживать проблему. Надеюсь, что что-то похожее на eclipse, но как новичок в мире Java, я не знаю об этом.Debug eclipse IDE сам

Мое затмение недавно часто висит, когда я запускаю его вместе с iBUS (на Ubuntu 9.10). Надеюсь, что я смогу узнать, что на самом деле затмевает мое затмение и избежать этого (представьте, что ваше затмение зависало, и все ваши открытые файлы были закрыты. Это просто сводит меня с ума).

ответ

9

Корректировать eclipse.ini Файловые добавьте следующие строки в нижней части (под -vmargs):

-Xdebug 
-Xnoagent 
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 

Тогда в другом Затмения той же версии, вы можете импортировать плагинов вы заинтересованы в отладке. Файл -> Импорт ... -> Разработка плагинов -> Плагины и фрагменты. Импорт. На активной платформе и «Импорт как« Проекты с исходными папками »на следующей вкладке выберите интересующие вас плагины.

Установите точки останова, если необходимо.

Затем создайте в Debug Configurations, создайте новое «приложение Remote Java». localhost, порт 8000. Добавьте проекты Java на вкладку source и отлаживайте.

+0

Woot Woot - это то, что я искал –

2

Одна вещь, которую вы можете сделать с любым Java-приложением, чтобы увидеть, что происходит прямо сейчас, - это отправить kill -QUIT. Это приведет к тому, что JVM удалит трассировки стека для всех своих потоков в стандартный вывод. Сделайте это три раза со второй секундой, и вы увидите, какие нити не двигаются хорошо.

Еще одна вещь, которую нужно попробовать - приложить JConsole к работающему процессу.

+0

Привет, вы можете показать мне, как отправить 'kill - QUIT'? –

+0

Вы сказали, что находитесь на Ubuntu, поэтому: 1) найдите идентификатор процесса, возможно, используя ps auxw. 2) из ​​оболочки 'kill -QUIT ' – Thilo

1

К тому времени, когда я использовал VS для разработки .NET, я могу подключить VS к процессу в любое время и начать отслеживать проблему.

Удаленная отладка также возможна на Java с архитектурой отладчика Java Platform (JPDA), вам просто нужно запустить приложение, которое вы хотите отлаживать, с включенной удаленной отладкой. Вот an article, где показано, как это сделать и как настроить Eclipse для отладки приложения удаления.

Обратите внимание, что начиная с Java 5, вы должны предпочесть -agentlib:jdwp опцию над -Xdebug и -Xrunjdwp варианты, как описано в Sun VM Invocation Options.

Update: Затмение является приложение Java, так что должно быть возможным, чтобы добавить варианты, упомянутые в статье в eclipse.ini. Никогда не пробовал это, хотя (я пропустил тот факт, что вы хотите отлаживать сам Eclipse).

+0

В статье рассказывается о отладке файла jar. Но я нашел eclipse (похожий?) Собственный исполняемый файл. Как я могу сказать eclipse опубликовать сообщение об отладке в порт? –

0

В основном есть два способа отладки приложения Java (например, Eclipse). Вы можете использовать JConsole, но это не даст вам много деталей. Для подключения JConsole вам необходимо включить удаленное отладки; для этого нужен аргумент JVM, который можно записать в файл eclipse.ini рядом с исполняемым файлом Eclipse.

Другим вариантом является запуск рабочего стола runtime из Eclipse: это используется для проверки ваших собственных подключаемых модулей, но поскольку плагины Eclipse одинаковы, можно запустить сеанс отладки с приложением Eclipse. Для этого вам нужно хотя бы один плагин в вашей рабочей области (например, создать новый проект плагина hello world), и вы можете отладить его как приложение Eclipse.

2

a thread about finding cause of a freezing Eclipse.

Один из решений предлагает , начиная с Eclipse с -consolelog опцией. Это может быть полезно для быстрого взгляда на то, что происходит (перед выполнением фактической отладки).