我正在制作一个项目,为了协助建设,我使用CMake
。
但是,我注意到我无法调试。
这是我的launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",
"request": "launch",
"target": "./build/bin/CHIP8",
"cwd": "${workspaceRoot}",
"preLaunchTask": "build"
}
]
}
这是我的任务.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "cd build && cmake .. && make"
}
]
}
我无法在网上找到任何可以帮助解决此问题的内容,所以我真的不知道该从哪里开始。 VSCode文档有一个例子来调试他们使用g ++的地方,但是我使用make ---所以我不知道怎么做!
感谢。
答案 0 :(得分:1)
您似乎构建了程序的发布版本。尝试构建程序的调试版本。
rm -r build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
最好将调试和发布版本分开。
mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
适当更新launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",
"request": "launch",
"target": "./Debug/bin/CHIP8",
"cwd": "${workspaceRoot}",
"preLaunchTask": "build"
}
]
}
答案 1 :(得分:0)
就我而言,即使我使用cmake -DCMAKE_BUILD_TYPE = Debug ..,它仍然无法工作,我需要在cmakefile中设置以下标志。
set(CMAKE_C_FLAGS_DEBUG“ -g -DDEBUG”)
设置(CMAKE_CXX_FLAGS_DEBUG“ -g -DDEBUG”)