我做错了什么(或没做什么)导致gdb
不能为我正常工作?
root@6be3d60ab7c6:/# cat minimal.c
int main()
{
int i = 1337;
return 0;
}
root@6be3d60ab7c6:/# gcc -g minimal.c -o minimal
root@6be3d60ab7c6:/# gdb minimal
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
.
.
.
Reading symbols from minimal...done.
(gdb) break main
Breakpoint 1 at 0x4004f1: file minimal.c, line 3.
(gdb) run
Starting program: /minimal
warning: Error disabling address space randomization: Operation not permitted
During startup program exited normally.
(gdb)
(gdb) print i
No symbol "i" in current context.
发布于 2017-10-11 06:20:40
如果你正在使用Docker,你可能需要--security-opt seccomp=unconfined
选项(以及启用ptrace):
docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
发布于 2016-03-08 14:35:38
发布于 2018-07-26 10:13:05
基于wisbucky's answer (谢谢!),下面是Docker compose的相同设置:
security_opt:
- seccomp:unconfined
cap_add:
- SYS_PTRACE
安全选项seccomp:unconfined
修复了address space randomization
警告。
能力SYS_PTRACE似乎没有明显的效果,即使Docker documentation声明SYS_PTRACE是一种“默认情况下不授予的能力”。也许我不知道该找什么。
https://stackoverflow.com/questions/35860527
复制相似问题