ОШИБКА: не удалось начать отладку. Неожиданный вывод GDB из команды "-exe c -run". Не удалось найти порт задачи Маха для идентификатора процесса 1401 - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь использовать GDB для запуска отладчика в VSCode в проекте C ++, но я продолжаю получать эту ошибку при запуске моего отладчика. Я установил сертификат и все, и он все еще дает мне эту ошибку (я использую macOS Catalina версии 10.15.4).

Вот мой запуск. json file

{
   // Use IntelliSense to learn about possible attributes.
   // Hover to view descriptions of existing attributes.
   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/Assignment8",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

Вот мои задачи. json file

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "type": "shell",
            "command": "make",
            "options": {
                "cwd": "${workspaceFolder}/build"
            },
        }
    ]
}

Кроме того, я увидел кое-что о создании файла .gdbinit, который я сделал в моем каталоге root, и я поместил в него следующую команду :

set startup-with-shell off

Любая помощь в этом вопросе будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 апреля 2020

Параметр "program" в вашем запуске. json должен быть путем к вашему отлаживаемому исполняемому файлу.

Я предполагаю, что вы используете g ++. Ваша программа будет отлаживаемой, если вы используете ключ -g. Таким образом, ваша компиляция будет

g++ -g path/to/prog.cpp -o a.out

. Это сделает отлаживаемый исполняемый файл как «a.out».

Убедитесь, что ваш параметр "program" указывает на этот файл. Учитывая, что этот файл сгенерирован на root вашего рабочего пространства, вам нужно установить его как

"program": "${workspaceFolder}/a.out

. Надеюсь, вы выполняете все эти шаги.

...