2011-01-04 3 views
48

С недавнего времени он намного медленнее запускает программу в режиме отладки в Eclipse Galileo.Запуск программы в режиме отладки невероятно медленный

Я не знаю никаких изменений.

Вы знаете, что может быть причиной? Запуск его обычно не является проблемой.

+1

Возможно ли какое-то профилирование? – Schultz9999

+0

Я только что перешел из Галилея в Гелиос, но без каких-либо улучшений. –

+0

Как включить или отключить профилирование? –

ответ

143

Еще один «разрыв отладки» - это использование контрольных точек входа/выхода метода.

Вы пытались удалить все определения точки останова один раз?

Иногда я думаю, что Eclipse выходит из строя с некоторым внутренним/отображаемым состоянием. Возможно, вам стоит попытаться настроить новую (а не копию) рабочего пространства. Иногда это помогает мне оправиться от побочных эффектов.

Это, как вы можете удалить все точки останова

Затмение -> Run -> Удалить все точки останова - для удаления всех точек останова для всех времен

Затмение -> Run -> Пропустить все Breakpoints - для временные удаляемые контрольные точки

+0

Я создал новый рабочий стол и проверил там заново. Теперь отладка работает как исключенная. Вы знаете, как я могу исправить свое старое рабочее пространство? –

+4

Я могу только рекомендовать отказаться от него, если вы не хотите узнать о значении примерно 1.000.000 файлов в каталоге .метамета вашей рабочей области. Я не знаю, как восстановить ... Существует сказка о добавлении «-clean» однажды к командной строке, но она никогда не помогала ... – mtraut

+7

Запуск Eclipse с помощью «-clean» исправил это для меня. :-) –

5

Я обнаружил, что часто забываю, что у меня есть куча выражений, добавленных в панель выражений, которые больше не нужны, которые тем не менее оцениваются (или не оцениваются), и это замедляет работу , Убедитесь, что вы сохраняете эти выражения, если они не нужны.

+0

Нет, у меня нет доступа. –

4

Какой тип JVM вы используете? Я нашел в своем опыте, что в режиме отладки IBM JDK медленнее, чем черт. Для всех JVM проверьте, есть ли у вас условные точки останова с дорогим состоянием. Попробуйте отключить контрольные точки. У вас могут быть контрольные точки или выражения исключения. Попробуйте отключить или удалить их.

0

Обычно виртуальная машина Java отключается только во время компилятора (JIT) при работе в режиме отладки. В IBM WebSphere IBM JDK сильно оптимизирован и будет очень медленным. Кстати, отладка также не позволяет перекомпилировать и оптимизировать код.

Реле на регистрацию для комплексной отладки: это сэкономит ваши дни на производстве, где вы не можете отлаживать наверняка.

+0

* Обычно виртуальная машина Java отключается. Просто во время компилятора (JIT) при работе в режиме отладки * это просто неверно. метод обычно оптимизируется, когда задана точка останова, метод деоптимизируется и выполняется интерпретатором. – bestsss

+0

Старая IBM JVM (1.4-) была очень медленной. В любом случае метод де-оптимизации, перестройка трассировки стека и т. Д. - это операция SLOW, не так ли? – daitangio

+0

Deoptimizing нужен только для точки останова в режиме отладки - НЕ для получения только stacktrace. Конечно, неопытный процесс - очень медленный процесс. Stacktraces СЛЕДУЕТ не генерировать (т. Е. Ходить по стеку), если это не необходимо, то есть если исключение не печатает его стек, или getStackTrace не вызывается. AFAIK Sun и IBM JVM 1.4 работают с нормальной скоростью в режиме отладки (обязательно о Sun) – bestsss

14

Я просто запускал программу в режиме отладки Eclipse, которая была почти мгновенной без отладки, но когда я запускал ее в режиме отладки, она была очень медленной. Я прошел и удалил тонну бесполезных бесполезных точек останова, которые я не использовал, а затем программа ускорила LOT (200x или около того).

+0

Это было полезно для меня - у меня были точки останова из других проектов в одном и том же рабочем пространстве, я удалил их все, а моя текущая отладка программы ускорилась – JavaTec

1

Клиринговых временные файлы на Windows, установили ее для меня

"C:\\Documents and Settings\\{user}\\Local Settings\\Temp" 
3

Закрыть затмение ... ясно папки% Temp%, временная папка ... отключить контрольные точки ... в большинстве случаев это, безусловно, решить проблему ,

23

Я столкнулся с этой проблемой много времени. Решение прост, удалите все точки останова. (Запуск >> Удалить все точки останова)

+4

Это точный дубликат принятого ответа ... – JAL

+0

Это сработало для меня. У меня было слишком много (несколько десятков). –

0

В моем случае Eclipse пытался создать файлы, которые я делал вручную. Переход к окну -> Настройки -> Запуск/Отладка -> Запуск, а затем отключение «Сборка (если требуется) перед запуском» под «Общими параметрами» решена медлительность.

2

Отключить 'Показать результат метода после операции шага'.

Show method result after a step operation

Смежные вопросы