Файловый ввод / вывод невероятно медленный в режиме отладки Eclipse - PullRequest
3 голосов
/ 23 марта 2012

Я часто находил режим отладки Eclipse полезным, полагаясь на операторы печати или ведение журнала.Однако я обнаружил, что производительность режима отладки, по-видимому, особенно чувствительна к файловому вводу / выводу.Загрузка файла может быть намного медленнее (занимает ~ 25 раз больше времени), и, поскольку мой рабочий процесс требует загрузки довольно большого файла, прежде чем я получу что-нибудь интересное, это особенно неудобно для меня.1006 * Есть ли разумное решение этой проблемы?На самом деле мне не нужна отладка во время загрузки файла, так что, возможно, есть способ перейти только в режим отладки в определенный момент процесса?1010 *, я не считаю, что это проблема с состоянием моего рабочего пространства.

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Вы можете подключиться к работающему приложению с помощью функции удаленной отладки eclipse. Вы должны запустить свое приложение с некоторыми параметрами:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y -jar yourapp.jar

Затем в конфигурации отладки выберите Remote Java Application, используя порт 8001.

Более подробно с фотографиями здесь

1 голос
/ 23 марта 2012

Возможно, вы выполняете ввод-вывод медленным способом (чтение мелкими частями), и отладка только усиливает это, поскольку для каждого вызова функции есть издержки.

NetBeans позволяет указать, какие функциидля профилирования, поэтому я бы искал аналогичную опцию в Eclipse, а затем велел ей не профилировать что-либо в пространстве имен java.* или в каком-либо из вашего кода ввода-вывода, если это не помогает.Я бы также позаботился о том, чтобы вы быстро читали ваш файл (используя буферизованные потоки ввода, не используя Scanner и т. Д.).Также в NIO могут быть вещи, которые могут помочь, но я не настолько знаком с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...