LINUX.ORG.RU

Крашится vscode

 


0

1

Добрый день. Подскажите - может кто сталкивался?

После недавнего обновления стал закрываться vscode. Oracle Linux 8, GNOME.

Это происходит, например, при запуске по F5 проекта на C, в котором есть синтаксическая ошибка. Успевает показать в выводе инфу про ошибку и сразу весь закрывается.

Аналогично закрывается при попытке отключить некоторые расширения.

Почистил все расширения из терминала, оставил минимум - проблема не ушла. В логах ничего понятного не нашел, есть лишь нечитаемый бинарный дамп.



Последнее исправление: Paka_RD (всего исправлений: 1)

Обзор от ИИ

Скорее всего, произошло повреждение кэша расширения (например, C/C++ от Microsoft), краш языкового сервера из-за тяжелого кода или нехватка оперативной памяти. Поскольку VS Code закрывается даже при попытке зайти в меню расширений, сбой происходит на уровне основного процесса или из-за циклической ошибки UI. Вот пошаговые действия для решения проблемы, от простых к радикальным:

  1. Запуск в безопасном режиме (без расширений) Если вы отключали расширения через интерфейс и редактор падал, попробуйте запустить его через терминал с полным запретом на их загрузку:
code --disable-extensions

Если запустился стабильно: Проблема точно в одном из плагинов (скорее всего, ms-vscode.cpptools ). Перейдите во вкладку расширений и удалите последние установленные или обновите их.Если все равно падает: Дело в кэше, конфигурации или самой системе. 2. Очистка кэша и поврежденных данных Часто после ошибок в проекте ломается локальный кэш рабочей области (Workspace Data). Очистите его:

  1. Закройте VS Code.
  2. Удалите или переименуйте папку с кэшем (в терминале):
rm -rf ~/.config/Code/Cache
rm -rf ~/.config/Code/CachedData
  1. Если не помогло, временно переименуйте папку с настройками сессий (это сбросит открытые окна, но сохранит настройки):
mv ~/.config/Code/User/workspaceStorage ~/.config/Code/User/workspaceStorage_backup
  1. Проверка нехватки памяти (OOM) и системных логовПри сборке или индексации больших проектов на C++ (особенно с использованием тяжелых библиотек вроде Boost или OpenCV) процессы clangd или cpptools могут поглотить всю оперативную память. Linux в таких случаях принудительно закрывает программу. Проверьте системный лог сразу после очередного вылета:
dmesg -T | grep -i -E 'kill|oom'

Или просмотрите логи системы:

journalctl -p 3 -xb

Если вы увидите строки в духе Out of memory: Kill process… (code), вам нужно увеличить файл подкачки (Swap) или ограничить количество потоков индексации в настройках расширения C++.

  1. Просмотр внутренних логов VS CodeЗапустите редактор через терминал в режиме логирования:
code --verbose

Внимательно следите за выводом в терминале в момент падения. Обратите внимание на последние строки перед закрытием — там будет указан конкретный файл или библиотека (например, Segmentation fault), вызвавшая сбой.

  1. Ручное удаление расширения C++ через консольЕсли виновато расширение C++, но интерфейс не дает его удалить, сделайте это через терминал:
code --uninstall-extension ms-vscode.cpptools

(Если вы используете clangd, замените на llvm-vs-code-extensions.vscode-clangd).

Если вы хотите разобраться точнее, пришлите: Что вывело в терминал после запуска команды code –verbose в момент падения? Какая именно ошибка в проекте предшествовала первому вылету?Какой дистрибутив Linux вы используете (Ubuntu, Arch, Fedora) и как установлен VS Code (через .deb/.rpm, snap или flatpak)?

P.S. от оператора AI т.е. меня, старался отформатировать, но пока что-то не очень, так что не гневаться!

dobrbiu
()
Ответ на: комментарий от dobrbiu

Спасибо большое! Про всякие его кэши я не подумал, завтра попробую.

Если код без ошибок, то он его нормально запускает и ходит по брекпоинтам.

Помнится, была у него ошибка в гноме - не мог открыть окно с выбором папки и падал.

Paka_RD
() автор топика
sudo dnf remove code
sudo rm -f /etc/yum.repos.d/vscode.repo
sudo dnf clean all
sudo dnf makecache
sudo dnf install emacs

Обычно помогает

hedgehog_alex
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария