Kev*_*vin 5 c++ debugging gdb g++ cmake
我正在制作一个项目,为了协助构建,我正在使用CMake.
但是,我注意到我无法调试。
这是我的launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",
"request": "launch",
"target": "./build/bin/CHIP8",
"cwd": "${workspaceRoot}",
"preLaunchTask": "build"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "cd build && cmake .. && make"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我在网上找不到任何东西来帮助解决这个问题,所以我真的不知道从哪里开始。VSCode 文档有一个示例来调试他们使用 g++ 的地方,但我使用的是 make --- 所以我不知道该怎么做!
谢谢。
S.M*_*.M. 10
看来您构建了程序的发行版本。尝试构建程序的调试版本。
rm -r build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
Run Code Online (Sandbox Code Playgroud)
最好将调试和发布版本分开。
mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
Run Code Online (Sandbox Code Playgroud)
适当更新launch.json:
{
"version": "2.0.0",
"configurations": [
{
"name": "Debug",
"type": "cppgdb",
"request": "launch",
"target": "./Debug/bin/CHIP8",
"cwd": "${workspaceRoot}",
"preLaunchTask": "build"
}
]
}
Run Code Online (Sandbox Code Playgroud)
根据 VS Code 更新更新了“类型”。"type": "gdb"以前是