简体   繁体   中英

Debug for multiple C++ files in VSCode

I think i entered all of the correct settings but it gave me a prelaunch task error because the program contains multiple files so i tried to correct the tasks.json settings and set args to "*.cpp" but i still have the same problem.
Note that all the files are in the same folder and that i have no errors during the compilation.

Prelaunch task error :

预启动任务错误

After setting "*.cpp" in the args in tasks.json i still get the previous error + this :

错误

launch.json settings :

{
    
    "version": "0.2.0",
        "configurations": [
            {
                "name": "g++.exe build and debug active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": false, //set to true to see output in cmd instead
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\MinGW\bin\\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++.exe build active file"
            },
            {
                "name": "g++ build & run active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": false, //set to true to see output in cmd instead
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\MinGW\bin\\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++ build & run active file"
            }
        ]
    }  

tasks.json settings :

{
    "version": "2.0.0",
    
        "tasks": [
          {
            "type": "shell",
            "label": "g++.exe build active file",
            "command": "C:\\MinGW\\bin\\g++.exe",
            "args": [
              "-g",
              "*.cpp",
              "-o",
              "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
              "cwd": "C:\\MinGW\\bin"
            }
          },
          {
            "type": "shell",
            "label": "g++ build & run active file",
            "command": "C:\\MinGW\\bin\\g++.exe",
            "args": [
              "*.cpp",
              "-o",
              "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
              "cwd": "C:\\MinGW\\bin"
            }
          }
        ],
    
}  

This is my sample settings

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/api.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/",
            "environment": [],
            "preLaunchTask": "build",
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-Wall",
                "-o",
                "api.exe",
                "*.cpp"
            ]
        }
    ]
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM