首页 > 解决方案 > 如何解决用于调试容器中代码的 docker ptrace 问题?

问题描述

我在 arm32v7/debian:latest 中调试时遇到困难,它抱怨 ptrace:“警告:ptrace:功能未实现”。

我根据docker run 运行了 docker 镜像: docker run -itd --name test -p 5022:22 --restart=always --cap-add=SYS_PTRACE --security-opt="seccomp=unconfined" gnoejh/arm32v7:latest

其中密钥“--cap-add”和“--security-opt”用于避免 ptrace 问题。

我的 docker run 有什么问题?

在容器内部,我测试了一个简单的示例。

(gdb) l 1
1       #include <iostream>
2       using namespace std;
3       int main(){
4       cout << "asdasda" << endl;
5       return 0;
6       }
(gdb) r
Starting program: /root/hello.o
warning: Could not trace the inferior process.
Error:
warning: ptrace: Function not implemented
During startup program exited with code 127.

标签: dockerdebuggingarm

解决方案


推荐阅读