Eclipse продолжает сбрасывать настройки проекта

271
raahlb

Мой Eclipse продолжает сбрасывать настройки проекта для препроцессора C ++, включая провайдеров, в частности, Build Output Parser и встроенный компилятор. Я пытался воссоздать проект, но это не помогает. Проект относится к типу «Makefile project с существующим кодом». Я не делаю ничего особенного, чтобы вызвать это - просто пишу код.

Кажется, это происходит чаще, когда я выполняю операции git, но файлы / папки .cproject, .project и .settings не находятся под контролем исходного кода - они находятся в моем файле фильтра gitignore и не добавляются. Смотрите следующее.

$ git ls-files -o -i --exclude-standard | grep -e project -e settings .cproject .project .settings/language.settings.xml 

Это сильно зависит от того, как часто это происходит. Иногда между перезагрузками 5-10 минут, иногда часов.

Вывод статистики немного интересен, после того как Eclipse начал переиндексацию с новыми настройками. Поскольку дата чтения не была обновлена, означает ли это, что файл был только записан и никогда не читался, т.е. Eclipse должен был обновлять его?

$ stat .settings/language.settings.xml  File: 'language.settings.xml' Size: 1176 Blocks: 8 IO Block: 4096 regular file Device: 2dh/45d Inode: 62805379 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ raahlb) Gid: ( 1000/ raahlb) Access: 2018-09-03 17:28:32.679448329 +0200 Modify: 2018-09-03 17:47:32.200812926 +0200 Change: 2018-09-03 17:47:32.200812926 +0200 Birth: - 

У кого-нибудь были подобные проблемы? Есть ли способ устранить неполадки в Eclipse, увидев, что, по их мнению, происходит? Его файл .log не записывается, когда возникает проблема.

Затмение версии: "Oxygen.3a Release (4.7.3a) Идентификатор сборки: 20180405-1200"
версии CDT: "C / C ++ Средства разработки SDK 9.4.3.201802261533"
Filesystem: Btrfs
ОС: Ubuntu 16.04.5 LTS

0

1 ответ на вопрос

0
raahlb

Проблема была в том, что Eclipse CDT не удалось запустить g ++ для получения включений препроцессора и настроек компилятора. Не удалось с ошибкой «недостаточно памяти».

Проблема усугубилась тем, что моему компьютеру не хватило памяти. sysctl -w vm.overcommit_memory=1Помогло включение overcommit с помощью. Я думаю, что разветвление java с его огромным распределением памяти испугало ядро, заставив думать, что оно понадобится снова.

Похожие вопросы