解决Visual Studio Code在Ubuntu上崩溃的问题
我正在使用Ubuntu系统,每次打开Visual Studio Code时,只能短暂打开一秒钟,然后就会崩溃。当通过终端使用code --verbose
命令启动Visual Studio Code时,出现以下错误信息:
[19814:0606/134456.415221:ERROR:gpu_process_host.cc(993)] GPU进程意外退出:exit_code=133
[19814:0606/134456.415235:WARNING:gpu_process_host.cc(1364)] GPU进程已崩溃6次
[19814:0606/134456.415243:FATAL:gpu_data_manager_impl_private.cc(448)] GPU进程不可用。再见。
[0606/134456.419486:ERROR:process_memory_range.cc(75)] 超出读取范围
[0606/134456.419494:ERROR:process_memory_range.cc(75)] 超出读取范围
我尝试了删除并重新安装Visual Studio Code,但问题依旧。删除命令如下:
sudo snap remove vscode
cd ~
rm -rf .vscode
rm -rf .config/Code
解决方法
方法一:恢复到之前的版本
有许多用户发现恢复到之前的版本可以解决问题:
sudo snap revert code --revision 159
评论中提到,这方法在Ubuntu 22.04 LTS和24.04 LTS中测试有效。
方法二:使用--in-process-gpu
参数
另一种无需重新安装或降级的方法:
code --in-process-gpu
这解决了GPU进程在X11后端中的问题,使得资源捆绑包可访问,从而避免了崩溃的发生。
方法三:直接恢复到上一个版本
使用以下命令恢复到上一个版本:
sudo snap revert code
这种方法能够恢复到上一个未出问题的版本,并在有新的更新版本时自动升级。
方法四:安装特定版本
如果之前版本已经删除,可以尝试安装特定版本的snap包:
sudo snap install --revision 159 --classic code
方法五:手动安装旧版本的deb包
先卸载snap包,然后手动下载并安装之前的deb包:
sudo snap remove --purge code
wget https://update.code.visualstudio.com/1.89.1/linux-deb-x64/stable -O code_1.89.1_amd64.deb
sudo apt install ./code_1.89.1_amd64.deb