gdb を使用してプログラムをアタッチしようとしていますが、次のように返されます。
プロセスにアタッチしています 29139 プロセスにアタッチ
できませんでした。uid がターゲット プロセスの uid と一致する場合は、/proc/sys/kernel/yama/ptrace_scope の設定を確認するか、root ユーザーとして再試行してください。詳細については、/etc/sysctl.d/10-ptrace.conf
ptrace: 許可されていない操作を参照してください。
gdb-debugger が「プロセスへのアタッチに失敗しました。権限を確認してから再試行してください」を返します。
strace が「attach: ptrace(PTRACE_ATTACH, ...): 操作は許可されていません」を返す
「kernel.yama.ptrace_scope」の 1 を 0 に、/proc/sys/kernel/yama/ptrace_scope
1 を 0 に変更して、これを試しset environment LD_PRELOAD=./ptrace.so
てみました。
#include <stdio.h>
int ptrace(int i, int j, int k, int l) {
printf(" ptrace(%i, %i, %i, %i), returning -1\n", i, j, k, l);
return 0;
}
しかし、それでも同じエラーが返されます。デバッガーにアタッチするにはどうすればよいですか?