[英]gdb debug in docker failed
envs: host:centos docker:ubuntu 16 nivida-docker program:c++ websocket
环境:主机:centos docker:ubuntu 16 nivida-docker 程序:c++ websocket
desc: when I use gdb in docker ,I can't use breakpoint ,it just says: warning: error disabling address space randomization: operation not permitted .I see alot of resolutions to this question,all of them tell me to add : --cap-add=SYS_PTRACE --security-opt seccomp=unconfined to my docker file ,so I did it.here is my docker file: desc:当我在 docker 中使用 gdb 时,我不能使用断点,它只是说:警告:错误禁用地址空间随机化:不允许操作。我看到很多关于这个问题的解决方案,他们都告诉我添加: - -cap-add=SYS_PTRACE --security-opt seccomp=unconfined到我的docker文件,所以我做到了。这是我的 docker 文件:
!/bin/sh
SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
PROJECT_ROOT="$( cd "${SCRIPT_DIR}/.." && pwd )"
echo "PROJECT_ROOT = ${PROJECT_ROOT}"
run_type=$1
docker_name=$2
sudo docker run \
--name=${docker_name} \
--privileged \
--network host \
-it --rm \
--cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
-v ${PROJECT_ROOT}/..:/home \
-v /ssd3:/ssd3 \
xxxx/xx/xxxx:xxxx \
bash
but when restart the container and run gdb ,it always killed like below:但是当重新启动容器并运行 gdb 时,它总是像下面这样被杀死:
(gdb) r -c conf/a.json -p 8075
Starting program: /home/Service/bin/Service --args -c conf/a.json -p 8075
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Killed
I don't known where is wrong ,anyone have any opinions?不知道哪里错了,大家有什么意见吗?
尝试这个
docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.