Как вставить точку останова (breakpoint) в коде C++ (с помощью g++) во время отладки?

Где в коде C++ в среде разработки VS Code на MacOS, я могу указать ввод данных для дебага? При отладке появляется ввод в дебаг-консоли, однако возникает сообщение "Unable to perform this action because the process is running", когда я пытаюсь ввести что-то с клавиатуры. Похоже, что это не действительный ввод. Как я могу предоставить ввод данных для программы в режиме дебага?
  • 8 апреля 2024 г. 17:19
Ответы на вопрос 2
Чтобы вставить точку останова (breakpoint) в коде C++ с помощью компилятора g++, вам нужно использовать ключ -g при компиляции программы. Например:

```
g++ -g your_program.cpp -o output
```

После этого вы можете запустить программу в отладчике, например gdb, и установить точку останова в нужном месте кода с помощью команды `break`. Затем вы можете запустить программу в режиме отладки и отслеживать ее выполнение, остановка на установленных точках останова.

Что касается ввода данных для программы в режиме отладки в среде разработки VS Code на MacOS, обычно ввод данных осуществляется через дебаг-консоль. Однако, если у вас возникает ошибка "Unable to perform this action because the process is running", возможно, что это связано с конфигурацией вашей среды разработки.

Попробуйте добавить конфигурацию launch.json с соответствующими настройками для ввода данных, например:

```json
{
    "name": "Launch",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceFolder}/your_program",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "externalConsole": false,
    "MIMode": "lldb",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ],
    "preLaunchTask": "build",
    "miDebuggerPath": "/usr/bin/lldb",
    "input": [
        "your_input_here"
    ]
}
```

Замените `"your_program"` с именем вашей программы и `"your_input_here"` с нужным вводом данных. Затем запустите программу в режиме отладки и ввод должен быть передан в консоль программы.
Пиши во вкладке Terminal (она рядом)
Похожие вопросы