Docker容器内使用gdb

Posted lcyw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker容器内使用gdb相关的知识,希望对你有一定的参考价值。

其中gdb在进行进程debug时,会报错:

(gdb) attach 30721
Attaching to process 30721

ptrace: Operation not permitted.

原因就是因为ptrace被Docker默认禁止的问题。有以下几种解决方法:

1、关闭seccomp

docker run --security-opt seccomp=unconfined 

2、采用超级权限模式

docker run --privileged

3、仅开放ptrace限制

docker run --cap-add sys_ptrace 

如只是想使用gdb进行debug的话,建议使用第三种。

参考

以上是关于Docker容器内使用gdb的主要内容,如果未能解决你的问题,请参考以下文章

Docker容器内使用gdb

当我从 Docker 容器中运行 gdb 时,它没有遇到任何断点

docker 容器中的 gdb 返回“ptrace:不允许操作”。

修改,编译,GDB调试openjdk8源码(docker环境下)

修改,编译,GDB调试openjdk8源码(docker环境)

在docker中使用gdb调试程序