VSCODE windows 上的 gdb 在调试时显示空文件
VSCODE gdb on windows show empty file on debug
我尝试使用 vscode 和 gdb 为 cpp 设置 helloworld 项目。
我用的是msys2.
一切正常,项目编译和 运行s,但我在调试它时遇到问题。
这是我的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": "${workspaceFolder}/helloworld.exe",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:/msys64/usr/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
和我的演示项目
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
但是当我 运行 调试时,它只显示空文件而不是源文件,我发现在
中创建了新文件
C:\c\Users\user\projects\helloworld\
所以那里的路径有问题。
如何解决?
我用错了 gdb。
您需要安装其他版本的gdb:
pacman -S mingw-w64-x86_64-gdb
并使用它
"miDebuggerPath": "C:/msys64/mingw64/bin/gdb.exe",
我尝试使用 vscode 和 gdb 为 cpp 设置 helloworld 项目。
我用的是msys2.
一切正常,项目编译和 运行s,但我在调试它时遇到问题。
这是我的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": "${workspaceFolder}/helloworld.exe",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:/msys64/usr/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
和我的演示项目
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(int argc, char** argv)
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
但是当我 运行 调试时,它只显示空文件而不是源文件,我发现在
中创建了新文件C:\c\Users\user\projects\helloworld\
所以那里的路径有问题。
如何解决?
我用错了 gdb。
您需要安装其他版本的gdb:
pacman -S mingw-w64-x86_64-gdb
并使用它
"miDebuggerPath": "C:/msys64/mingw64/bin/gdb.exe",