Neovim配置Dap调试C++遇权限拒绝错误求助
解决Neovim Dap调试C++时的EACCES权限错误
首先,你遇到的EACCES: permission denied错误并不是目录权限的问题——你把command指向了vscode-lldb的目录,而不是实际的可执行文件。目录本身是不能被直接执行的,哪怕你有目录的读写权限也没用。
接下来是具体的修复步骤:
第一步:定位vscode-lldb的可执行文件
进入你的vscode-lldb目录,查看bin子目录,里面通常会有一个名为lldb-vscode(部分版本可能叫adapter)的可执行文件。你可以用这条命令确认:ls -la /home/user/Devtools/vscode-lldb/bin/第二步:修正dap适配器配置
将debugging.lua中适配器的command路径替换为找到的可执行文件完整路径。示例如下:require("dap").adapters.lldb = { type = "executable", -- 替换为实际的可执行文件路径 command = "/home/user/Devtools/vscode-lldb/bin/lldb-vscode", name = "lldb", }第三步:确保可执行文件有执行权限
如果lldb-vscode没有执行权限,用以下命令添加:chmod +x /home/user/Devtools/vscode-lldb/bin/lldb-vscode
完成这些修改后,重启Neovim再尝试执行:lua require'dap'.continue(),应该就能正常启动调试了。
补充说明:如果bin目录里找不到目标文件,可以在vscode-lldb根目录用file命令判断哪个是可执行文件:
file /home/user/Devtools/vscode-lldb/*
输出中标记为ELF 64-bit LSB executable的就是你需要的文件。
内容的提问来源于stack exchange,提问作者Arkadiusz Stanisław Łęga
相关产品推荐
相关产品推荐

