wsl 环境下的gdb无法attach的解决方案 vscode

时间:2021-07-01 16:43:35   收藏:0   阅读:0

gdb attach 失败解决方案

1. 失败信息

ptrace:Operation not permitted

2. 原因分析

默认情况下Linux只允许attach和启动gdb的用户相同的进程,比如A用户启动gdb,但某个程序是由B启动的,则gdb无法attach。

3. 解决方案

  1. 有yama的Linux发行版
    echo 0| sudo tee /proc/sys/kernel/yama/ptrace_scope
  2. 无yama的Linux发行版
    sudo setcap cap_sys_ptrace=eip /usr/bin/gdb
  3. 通法
    用root用户登录,可以无视上边的限制

4. wsl下的解决方案

wsl1可以用方案1,3来解决,wsl2可能没有yama,需要用方案2解决

参考资料

  1. https://github.com/Microsoft/MIEngine/wiki/Troubleshoot-attaching-to-processes-using-GDB
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!