vscode + Linux 如何在编辑器调试webserver这类完整C++项目

1. 问题背景

网上搜的一堆文章都是教如何调试单个文件,或者一个文件夹下含了所有cc和头文件,但很多项目头文件和实现在上级目录的子文件中,vscode直接调试main函数所在文件时,直接报错某些头文件找不到(xxx.h not found 或者 undefine reference before),还有很多文章提到c_cpp_properties.json,可本菜压根都没碰到,配了也不会主动去搜索。

2.解决方法

vscode能调试的关键:能生成 .o可执行文件即可

vscode调试前会运行,然后在.vscode文件夹下会生成一个tasks.json文件

/usr/bin/g++ -g 目录/文件 -o 输出名字

要解决多个文件跨文件夹依赖问题,笨办法接去修改tasks.json(如下)也可以,只要能顺利编译,vscode就在编辑器中打断点调试了,有更快捷方法的大佬留言教教。

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${fileDirname}/*.cc",
                "home/webserver/src/base/*.cc",
                "各种要用到的cc"
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}", 
                "-I",
                "各种头文件所在目录(如下),记得一个目录加一个-I,有动态库-L依此类推",
                "-I",
                "/home/webserver/src/base" 
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

你可能感兴趣的:(编辑器,vscode,linux,c++)