我一直在尝试使用 LLDB 查找程序中分段错误的位置。我一直在使用 Ubuntu shellrepl.it并使用编译我的代码clang++-7 -pthread -std=c++17 -o main main.cpp -g
并且程序编译成功。接下来,我跑lldb main
一切都很好,但是当我输入时run
I get error: process launch failed: 'A' packet returned an error: 8
。我检查了文档并查找了错误,但我似乎找不到任何东西。感谢您的任何帮助!
完整日志:
~/Project$ clang++-7 -pthread -std=c++17 -o main main.cpp -g
~/Project$ lldb main
(lldb) target create "main"
Current executable set to 'main' (x86_64).
(lldb) run
error: process launch failed: 'A' packet returned an error: 8
如果你需要代码,可以在这个 Github 上找到:https://github.com/KingsleyDockerill/Wirth
对于那些使用Docker
, 如上所述here,他们需要添加--cap-add=SYS_PTRACE --security-opt seccomp=unconfined
给他们的docker run
命令以便使用lldb
.
for 开发容器添加这些属性
{
"capAdd": ["SYS_PTRACE"],
"securityOpt": ["seccomp=unconfined"]
}
也可以看看这个较旧的答案.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)