簡體   English   中英

docker 中的 gdb 調試失敗

[英]gdb debug in docker failed

環境:主機:centos docker:ubuntu 16 nivida-docker 程序:c++ websocket

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

但是當重新啟動容器並運行 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

不知道哪里錯了,大家有什么意見嗎?

嘗試這個

docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM