ubuntu vscode 无法启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu vscode 无法启动相关的知识,希望对你有一定的参考价值。

参考技术A 是否正确安装。不然bai是无法运行的
安装Visual Studio Code
  首先需du要zhi安装Ubuntu Make。Ubuntu Make存在Ubuntu 15.04资源库中,但需要Ubuntu Make 0.7以上版本才能安装Visual Studio。所以,需要通过官方PPA更新到最新的Ubuntu Make,支持Ubuntu 14.04、14.10和15.04,但仅64位版本。
  打开终端,使用下列命令,通过官方PPA来安装Ubuntu Make:
  sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
  sudo apt-get update
  sudo apt-get install ubuntu-make
  安装Ubuntu Make完后,接着使用下列命令安装Visual Studio Code:
  umake web visual-studio-code
 卸载Visual Studio Code,同样使用Ubuntu Make命令。如下:
  umake web visual-studio-code --remove
  如果不使用Ubuntu Make,也可以通过微软官方下载安装文件。
  Download Visual Studio Code for Linux

VSCode:C++ 调试器无法启动或正确附加

【中文标题】VSCode:C++ 调试器无法启动或正确附加【英文标题】:VSCode: Debugger for C++ does not launch nor attach properly 【发布时间】:2016-11-30 05:28:15 【问题描述】:

我正在使用:

Ubuntu 16.04(我知道官方不支持) VSCode 最新版本 最新的“C/C++ for VSCode”版本

我的项目是一个C++项目,结构如下:

/home/lvier/mainProject/fooProject (源代码) /home/lvier/mainProject/build/fooProject (二进制文件)

我在子项目“/home/lvier/mainProject/fooProject”中工作,在“/home/lvier/mainProject/build/fooProject”中有很多子程序(比如说"foo", "foo_sub1", "foo_sub2" ...)。

我的目标:

我想启动程序“foo”(它启动所有其他 foo_sub-programs),然后,我想通过附加到某个子程序(比如说“foo_sub1”)来调试它。只要我可以调试子程序“foo_sub1”,我也可以同时启动和调试。主项目本身不包含任何可执行文件。

几个月前,调试正在使用“附加”。对我来说,它不再工作了(因为 VSCode 更新和/或 C/C++ 扩展更新)。这是我的问题:

    假设“foo”正在运行。 使用“C++ Attach”-config 并设置“request”:“attach”(突出显示为“not an accepted value”)时,如果未设置,它将询问属性“processId”。如果我设置“processId”,则会弹出错误“不支持附加”。 如果我使用带有“request”的“C++ Attach”-config:“launch”(一开始这是由 C/C++-extension 自动生成的),那么程序会找到进程 ID,尝试附加但随后中止消息“无法开始调试。仅在进程停止时接受命令。” - 真是惊喜。

    假设“foo”尚未运行。 使用“C++ Launch”-config 时,程序会启动,但不会出现 UI 元素。相反,它从弹出一个新终端开始,上面写着“警告 gdb 未能设置不允许的控制终端操作”暂时,并且在 VSCode 的内部控制台中,它声明它停止在某些代码行(我没有定义的断点)并打印 “由于共享库事件而停止(未添加或删除库) 已加载“/lib64/ld-linux-x86-64.so.2”。已加载符号。 [启用使用 libthread_db 进行线程调试] 使用主机 libthread_db 库“/lib/x86_64-linux-gnu/libthread_db.so.1”。 从那里我无法继续,我必须手动终止程序。

当我在没有 VSCode 的情况下使用 GDB 时,即仅通过本机终端,我的程序可以正常启动,但使用 VSCode,目前似乎存在一些问题。

这是我当前的自动生成配置,我只编辑了“cwd”和“程序”路径(假设环境变量“$env.build_foo”设置为“/home/lvier/mainProject /build/fooProject"):


    "version": "0.2.0",
    "configurations": [
        
            "name": "C++ Launch",
            "type": "cppdbg",
            "request": "launch",
            "targetArchitecture": "x64",
            "program": "$env.build_foo/foo",
            "args": [],
            "stopAtEntry": false,
            "cwd": "$workspaceRoot",
            "environment": [],
            "externalConsole": true,
            "linux": 
                "MIMode": "gdb"
            ,
            "osx": 
                "MIMode": "lldb"
            ,
            "windows": 
                "MIMode": "gdb"
            
        ,
        
            "name": "C++ Attach",
            "type": "cppdbg",
            "targetArchitecture": "x64",
            "request": "launch", // <-- "attach" is not allowed (anymore)! :(   
            "program": "$env.build_foo/foo_sub1",
            "args": [],
            "stopAtEntry": false,
            "cwd": "$workspaceRoot",
            "environment": [],
            "processId": "$command.pickProcess",
            "externalConsole": false,
            "linux": 
                "MIMode": "gdb"
            ,
            "osx": 
                "MIMode": "lldb"
            ,
            "windows": 
                "MIMode": "gdb"
            
        
    ]

到目前为止,我真的很沮丧,仍然不想放弃 VSCode(我还不想切换到另一个 IDE)。我已经搜索了很多其他问题,并尝试设置其他一些配置属性,但都没有帮助。

调试器是否也有其他问题,或者这是扩展的一般问题(...和 ​​Ubuntu 16.04)? 我很高兴有任何帮助或方便的解决方法。提前致谢!

注意: 我还在相关的github页面上创建了一个线程(见https://github.com/Microsoft/vscppsamples/issues/115)

2016 年 7 月 26 日更新: 似乎 C/C++ 扩展存在错误(请参阅上面 github 链接中的 cmets)。但仍在调查中。

【问题讨论】:

【参考方案1】:

这里解决方案:

...在我从链接器设置中删除 GCC -s ​​标志(剥离符号表和重定位信息)后,现在调试对我有用...

从下一个链接的最后一个答案中得到它(感谢 HorstBaerbel):https://github.com/Microsoft/vscode-cpptools/issues/115#issuecomment-299334301

【讨论】:

以上是关于ubuntu vscode 无法启动的主要内容,如果未能解决你的问题,请参考以下文章

VScode无法启动问题解决思路

ubuntu vscode 无法启动

VSCode:C++ 调试器无法启动或正确附加

突然无法通过VSCode启动配置运行Java [重复]

Flutter - FAILURE:构建失败并出现异常。 - 无法启动守护进程。 - 安卓工作室 - VSCode

vscode + gradle 创建 java 项目 - java language server无法启动