c++ - VScode 调试 c++
问题描述
我试图设置 vscode 来调试 C++。我在窗户上。我的代码运行良好,但每当我尝试调试时,即使一切看起来运行顺利,我也无法步进或收集有关变量的信息。
这是我的 FirstCPP.CPP 文件:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
这是我的 launch.json 文件:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "C:\\Users\\marti\\projects\\helloworld\\.vscode\\FirstCPP.exe",
"args": [],
"stopAtEntry": true,
"cwd": "C:\\Users\\marti\\projects\\helloworld\\.vscode",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
这是我的 tasks.json 文件:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build hello world",
"type": "shell",
"command": "g++",
"args": ["-g", "-o", "helloworld", "FirstCPP.cpp"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
这是我的 c_cpp_properties.json 文件:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
每当我尝试调试我的代码时,我都会在调试控制台中收到:
Loaded 'C:\WINDOWS\System32\msvcrt.dll'. Symbols loaded.
Loaded 'C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\opt\bin\libgcc_s_seh-1.dll'. Symbols loaded.
Loaded 'C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\libstdc++-6.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\user32.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\win32u.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\gdi32.dll'. Symbols loaded.
Loaded 'C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\opt\bin\libwinpthread-1.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\gdi32full.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\msvcp_win.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\ucrtbase.dll'. Symbols loaded.
Loaded 'C:\WINDOWS\System32\imm32.dll'. Symbols loaded.
Execute debugger commands using "-exec <command>", for example "-exec info registers" will list registers in use (when GDB is the debugger)
Single stepping until exit from function main,
which has no line number information.
-exec info registers
ERROR: GDB exited unexpectedly with exit code -1073741819 (0xC0000005). Debugging will now abort.
The program 'C:\Users\marti\projects\helloworld\.vscode\FirstCPP.exe' has exited with code -1 (0xffffffff).
Error: GDB exited unexpectedly with exit code -1073741819 (0xC0000005).
解决方案
推荐阅读
- office365 - 用于从 Microsoft Teams 读取活动源的 API
- django - 使用 django get_queryset() 返回字典列表
- r - 为向量中的半连续字符串添加运行计数器
- python - 按特定顺序对带有浮点值的查询集进行排序(如软件版本)
- python - 如何根据另一列对一行中的特定列求和?
- jestjs - 如何使用 Jest 在 Stencil 中测试 LifeCycles 和 EvenEmitters
- python - 如何将字符串格式的查询结果转换为python中的csv
- javascript - 如何限制 10 个结果 array.filter?
- javascript - 当我尝试编译时,Android 资源链接失败
- hangfire - Hangfire 加载无法执行的作业