C / C ++ VS Code - Невозможно начать отладку. Произошла ошибка при запуске программы канала - PullRequest
1 голос
/ 06 октября 2019

Я изучаю инструмент отладки кода C / C ++ в Visual Studio, и я следовал учебному пособию здесь , и когда я приступил к отладке. Мне сообщают об этой ошибке.

enter image description here

Я использую WSL / Bash в Ubuntu, и я установил gcc / g ++ и gdb в WSL.

Это мой код в launch.json. Спасибо за помощь.

{
"version": "0.2.0",
"configurations": [
  {
    "name": "(gdb) Launch",
    "type": "cppdbg",
    "request": "launch",
    "program": "/mnt/c/Users/myusername/Projects/CPP/helloworld/helloworld.out",
    "args": [""],
    "stopAtEntry": true,
    "cwd": "/mnt/c/Users/myusername/Projects/CPP/helloworld/",
    "environment": [],
    "externalConsole": true,
    "windows": {
      "MIMode": "gdb",
      "miDebuggerPath": "/usr/bin/gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    },
    "pipeTransport": {
      "pipeCwd": "",
      "pipeProgram": "C:\\Windows\\System32\\bash.exe",
      "pipeArgs": ["-c"],
      "debuggerPath": "/usr/bin/gdb"
    },
    "sourceFileMap": {
      "/mnt/c": "C:\\",
      "/usr": "C:\\Users\\myusername\\AppData\\Local\\Packages\\CanonicalGroupLimited.UbuntuonWindows79rhkp1fndgsc\\LocalState\\rootfs\\usr\\"
    }
  }
]
}

1 Ответ

0 голосов
/ 03 ноября 2019

Я получил ту же ошибку и, наконец, заставил ее работать!

Два изменения:

1) В pipeTransport измените pipeProgram: "pipeProgram": "bash.exe"

2)под SourceFileMap: удалите /usr

Вот мой полный launch.json файл (просто замените USERNAME вашим):

{
    "version": "0.2.0",
    "configurations": [

      {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "program": "/home/USERNAME/projects/helloworld/helloworld.out",
        "args": [""],
        "stopAtEntry": true,
        "cwd": "/home/USERNAME/projects/helloworld/",
        "environment": [],
        "externalConsole": true,
        "windows": {
          "MIMode": "gdb",
          "miDebuggerPath": "/usr/bin/gdb",
          "setupCommands": [
            {
              "description": "Enable pretty-printing for gdb",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
            }
          ]
        },
        "pipeTransport": {
          "pipeCwd": "",
          "pipeProgram": "bash.exe", 
          "pipeArgs": ["-c"],
          "debuggerPath": "/usr/bin/gdb"
        },
        "sourceFileMap": {
          "/mnt/c": "c:\\",
        }
      }
    ]
  }
...