vscode + cmake 管理员权限调试

Ubuntu 22.04 使用 VsCode + CMake 开发 ICMP ping 功能,执行到下面的语句时报错:

socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
---------------------------------------
程序报错: Operation not permitted
查找原因,需要管理员权限才能运行和调试。

下面开始配置 VsCode + CMake 工程的 管理员权限调试:

 
第1步:在工程目录中创建 sudo_gdb 文件,填入以下内容:

pkexec /usr/bin/gdb "$@"

  如下图所示:


第2步:在 .vscode 目录下创建 settings.json 文件,若 .vscode 目录不存在则创建。

{
    "cmake.debugConfig": {
        "miDebuggerPath": "/工程绝对路径/sudo_gdb",
    }
}

填写以上内容。其中 miDebuggerPath 路径 可在 vscode 中的 sudo_gdb 文件上点右键,选择“复制路径” 粘贴到 settings.json 配置中。


如果填写的是 "miDebuggerPath": "${workspaceFolder}/sudo_gdb" 会出现找不到调试器。


第3步:开始调试,弹出输入管理员密码对话框。
             我电脑上弹出两次,输入两次密码后,就开始调试了。


第4步:程序调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值