【问题标题】:GDB Failed to set controlling terminal operation not permitted on attached visual studio dockerGDB 无法设置附加的 Visual Studio docker 上不允许的控制终端操作
【发布时间】:2021-07-20 22:47:33
【问题描述】:

我正在尝试使用 GDB 调试器运行我的程序。当我运行它时,我收到一个警告:

GDB: Failed to set controlling terminal: Operation not permitted

该警告在我的终端中出现和消失的速度非常快。我已经检查了一些 stackoverflow questions,但由于我正在运行 visual studio attach to my docker(远程容器),因此我无法应用一些建议。

当我在我的代码中尝试一个刹车点时,GDB 不起作用,并且程序执行忽略 GDB。

我的 lauch.json 配置:

{
    // 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}/words",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}

我正在运行我的程序的 dockerfile 配置:

FROM ubuntu:18.04

SHELL ["/bin/bash", "-c"]

RUN apt-get -y update
RUN apt-get install -y Linux-headers-generic build-essential gdb

COPY . /ejercicio

【问题讨论】:

    标签: ubuntu visual-studio-code gdb remote-debugging vscode-debugger


    【解决方案1】:

    检查您的代码是否实际上是使用调试构建的。根据经验(在 Linux 中),如果您没有任何符号 GDB 可能会在 VS Code 会话期间导致此错误。即在所有编译和链接语句中添加 -g 命令行选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      • 2017-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      相关资源
      最近更新 更多