当使用\ n而不是-std = c ++ 2a的endl时,奇怪的clangd崩溃

问题描述

这是参考源文件

#include <iostream>
int main() {
    int x = 7;
    std::cout << x << '\n';
}

如果我在行{em> 之前用cout打开行并写上std::,我会正确地看到YCM的语义消减弹出窗口;如果在与cout的行之后 执行相同的操作,则会收到ResponseAbortedException: Response Aborted错误

:YcmDebugInfo给出

Printing YouCompleteMe debug information...
-- Resolve completions: Up front
-- Client logfile: /tmp/ycm_fiumsvcv.log
-- Server Python interpreter: /usr/bin/python3
-- Server Python version: 3.8.6
-- Server has Clang support compiled in: True
-- Clang version: clang version 10.0.0 (https://github.com/ycm-core/llvm 038587147cf2f97d1c3e677042f69560c65b5bea)
-- Extra configuration file found and loaded
-- Extra configuration path: /home/enrico/.ycm_extra_conf.py
-- C-family completer debug information:
--   Clangd not running
--   Clangd executable: ['/home/enrico/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/clangd/output/bin/clangd','-cross-file-rename','-header-insertion-decorators=0','-resource-dir=/home/enrico/.vim/plugged/YouCom
pleteMe/third_party/ycmd/third_party/clang/lib/clang/10.0.0','-limit-results=500']
--   Clangd logfiles:
--     /tmp/clangd_stderryqofwzop.log
--   Clangd Server State: Dead
--   Clangd Project Directory: /home/enrico
--   Clangd Settings: {}
--   Clangd Compilation Command: ['clang-tool','-x','c++','-std=c++2a','-Wall','-Wextra','-Werror','/home/enrico/deleteme.cpp']
-- Server running at: http://127.0.0.1:42807
-- Server process ID: 25037
-- Server logfiles:
--   /tmp/ycmd_42807_stdout_9pmpk9zp.log
--   /tmp/ycmd_42807_stderr_iat9y0gn.log

This is a screencast的问题。

解决方法

我的建议:

  • 升级到较新的叮当声。最新发布的版本是11,Github上甚至还有每周更新的快照。

  • 如果崩溃仍然存在,请使用--log=verbose运行clangd并提交带有日志的clangd issue

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...