提问人:Sky345 提问时间:11/1/2023 最后编辑:ppperySky345 更新时间:11/2/2023 访问量:116
使用 Vscode 的 cpptools 扩展运行非常简单的 C++ 程序时 VSCode 中的分段错误
Segmentation Fault in VSCode when Running very simple C++ Program with Vscode's cpptools extension
问:
我决定先在这里问这个问题,然后再寻求在 vscode-cpptools Github 存储库上提出问题。因为你知道,无论哪种方式,它都可能在我这边,并且可能是一个非常愚蠢的问题,有人已经经历过。
下面是该错误的屏幕截图:
以下是 Vscode 中 #include 错误诊断:
问题描述
尝试在Visual Studio Code中使用vscode-cpptools扩展运行简单的C++程序时,我遇到了一个持续存在的问题。尽管遵循了建议的步骤,我还是收到“分段错误”错误,该错误似乎不合适。该问题仅发生在我的笔记本电脑上,因为我已成功在台式计算机上复制了相同的环境,没有任何问题......这很奇怪。值得一提的是,两台机器都同步了 VSCode 安装。
我尝试重新安装 mingw64 几次,并且我按照 Visual Studio Code 的“Visual Studio Code 中的 C++ 和 MinGW-w64 入门”教程的建议使用 ucrt64 环境。
我正在使用 g++ 进行编译,它在我的所有终端中都正确安装并运行。
我已经尝试了运行代码的所有三个可用选项,包括“运行代码”,但分段错误仍然存在。当我选择最后一个选项“运行 C/C++ 文件”时,出现一条警告消息,然后像以前一样发生分段错误。
这是我尝试选择“运行 C/C++ 文件”选项时收到的警告窗口
相关 GitHub 问题
我在 vscode-cpptools GitHub 存储库(问题 #7414)上发现了一个相关问题,其中包括与我自己的屏幕截图类似的屏幕截图。但是,我没有发现这两个问题之间有任何明显的联系,并且我的编辑器中没有设置任何断点。
代码示例
以下是文件,以防有人想尝试重现该问题:hello_world.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!\n";
return 0;
}
这是它在尝试构建程序时生成的:task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\msys64\\ucrt64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
同样,这很奇怪,因为我已经复制了我在桌面上安装 mingw 和 g++ 所采取的确切步骤,但只有笔记本有这个问题。
答: 暂无答案
评论
PATH
"C:\msys64\ucrt64.exe"