VS代码-在超级用户模式下调试

时间:2019-07-14 16:23:26

标签: c++ ssh visual-studio-code pytest supervisord

如何使用与VS Code的远程连接在超级用户模式下调试?

myprogram 在远程计算机上。(我通过vscode扩展名使用ssh-connection

最初的任务是调试c ++代码,但是该代码是通过 pytests 调用的。我想在C ++代码中设置断点并运行pytests。

myprogram是用于调用pytests的“运行测试”程序(可执行)。

1)

我试图调用预启动任务:

launch.json

 "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/myprogram",
            "args": [
                "args"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "supervisor"
        }
    ]
}

启动前的任务:

tasks.json

   {
            "label": "supervisor",
            "command": "sudo bash",
            "type": "shell",
            "group": "build",
            "problemMatcher": "$gcc"
   }

但是,该命令没有用)我只是不知道该写些什么

2)

然后,我尝试将launch.json中的“程序”更改为

"program": "${workspaceFolder}/proxy_program_to_run_myprogram"

代理程序:

    #include <iostream>
    #include <unistd.h>
    #include <sys/wait.h>
    int main(int argc, const char * argv[]) {
        auto command = "usr/bin/sudo";
        auto argument1 = "myprogram";
        auto res = execl(command,command,argument1);
        return 0;
    }

但是当我想在调试器中“进入”时,我收到消息:

无法打开'execl.c':无法读取文件(错误:找不到文件(vscode-remote:// ssh-remote +(我的主机名)/ build / glibc-LK5gWL / glibc-2.23 / posix / execl.c))。

很明显,该文件存在,但是“权限被拒绝”。

0 个答案:

没有答案