如何使用" sudo"调试程序在VSCODE中

时间:2016-10-14 00:58:23

标签: c++ c visual-studio-code

我正在尝试在VSCODE中调试程序。该程序需要以root用户身份或以" sudo"在Ubuntu上。实现这一目标的最佳方法是什么?示例启动配置会很有帮助。感谢。

4 个答案:

答案 0 :(得分:2)

我的解决方案:

/usr/bin/gdb添加到/etc/sudoers就像here

添加内容为的可执行文件

sudo /usr/bin/gdb "$@"

miDebuggerPath设置为文件

答案 1 :(得分:1)

不知道让vscode运行sudo gdb的方法。 但你可以sudo运行vscode,所以你可以sudo gdb进行调试。

  

sudo代码。的user-data-DIR = ''

答案 2 :(得分:1)

我最近也有类似情况- 我已通过在.vscode目录下的launch.json文件中添加{“ sudo”:true}来解决此问题。

只需在.vscode> launch.json

中添加以下行
{
    "version": "0.2.0",
    "configurations": [
        {
            "other..." : "configs...",
            "request": "launch",
            "console": "integratedTerminal",
            "args": [
                "${file}"
            ],
            "sudo": true
        }
    ]
}

我正在使用的VS代码版本是-

版本:1.49.1操作系统:Ubuntu 16.04 LTS,64位

答案 3 :(得分:0)

我做了以下事情:

  1. 创建一个名为“ gdb”的脚本,例如我的主目录,包含: pkexec /usr/bin/gdb "$@"
  2. 使其可执行
  3. 通过添加“ miDebuggerPath”来修改VSCode中的launch.json以调用脚本(显然,相应地更改 username ):
...
            "externalConsole": false,
            "miDebuggerPath": "/home/<username>/gdb",
            "MIMode": "gdb",
...
  1. 进行调试时,请使用top或类似工具来验证进程是否以root用户身份运行。

那应该足够了。