c++ - 如何在 VSCode 中调试 cmake/make 项目?

标签 c++ debugging cmake gdb g++

我正在做一个项目,为了协助构建,我正在使用 CMake

但是,我注意到我无法调试。

这是我的 launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "gdb",
            "request": "launch",
            "target": "./build/bin/CHIP8",
            "cwd": "${workspaceRoot}",
            "preLaunchTask": "build"
        }
    ]
}

这是我的 tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "cd build && cmake .. && make"
        }
    ]
}

我在网上找不到任何可以帮助解决这个问题的东西,所以我真的不确定从这里去哪里。 VSCode 文档有一个示例可以在他们使用 g++ 的地方进行调试,但我使用的是 make --- 所以我不确定该怎么做!

谢谢。

最佳答案

看来您构建了程序的发布版本。尝试构建程序的调试版本。

rm -r build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .

最好将调试和发布版本分开。

mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .

适当更新launch.json:

{
    "version": "2.0.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "cppgdb",
            "request": "launch",
            "target": "./Debug/bin/CHIP8",
            "cwd": "${workspaceRoot}",
            "preLaunchTask": "build"
        }
    ]
}

根据 VS 代码更新更新了“类型”。 "type": "gdb" 以前是

关于c++ - 如何在 VSCode 中调试 cmake/make 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49583381/

相关文章:

C++ - 声明结构和类时不允许使用不完整类型

c++ - 使用变换创建新 vector

c++ - 与SSE2相比,AVX为什么不能进一步提高性能?

silverlight - 是什么让 Silverlight 的“编辑并继续”变得困难/不可能?下一个最好的事情是什么?

c++ - 如何调试 std::bad_cast 异常

cmake - 获取使用的命令行标志 "-D"

c - 显示某些内容需要 Mac OpenGL 窗口移动

c++ - 20多种变体的Boost Spirit如何使用?

java - Java中的DigitSum方法

qt - 如何将 CMAKE_AUTOMOC 生成的文件放在特定文件夹中