私は自分のMacに独自にインストールされたx86_64 16.04 Ubuntu VirtualBoxにインストールされているarm64v8 / alpine dockerでGDBを使用してaarch64 ELFをデバッグしたいと思います。特にドッカーを設定するには、次のガイドラインを使用しました。ここ。それは:
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
sudo docker run --rm -it -v /directory_on_ubuntu:/directory_on_alpine arm64v8/alpine /bin/ash
私はGDB
アルパインコンテナにインストールし、アルパインからコマンドを使用してプロセスをインポートし、警告を受けたPID
ときにプロセスに接続するために使用しました。そしてタグの投稿を読んでいますが、最初の行のタグはdockerのセキュリティ面を管理してはいけませんか?また、コンテナとホストの両方のファイルを見て、値を0に設定しました。変数がホストにあるときにコンテナ内のファイルが見つからないことにも言及する価値があります。しかし、実装が不足しているということは、Dockerの設定方法に関するより大きな問題がある可能性があることを意味すると思います。バイナリデバッグの助けや解決策を教えてくれてありがとう。ELF
ps aux
(gdb) attach PID
ptrace: Function not implemented
--cap-add=SYS_PTRACE
seccomp
privileged
/proc/sys/kernel/yama/ptrace_scope
Ubuntu
/etc/sysctl.d/10-ptrace.conf
alpine
Ubuntu
kernel.yama.ptrace_scope=0
ptrace
GDB