2017-11-26 5 views
0

ptrace(PTRACE_ATTACH, pid, nullptr, nullptr)を実行するプログラムを作成しようとしていますが、-1を返し、errnoは3です(このようなプロセスはありません)。トレースは走っていて、私から追い出されたので、トレーサは許可を得ているはずです。私はどうしたらいいですか?PTRACE_ATTACHを許可する

また、ptraceはスレッド単位であるようです。プロセスIDを指定してすべてのスレッドIDを取得する簡単な方法はありますか?唯一の方法は/proc/{pid}/task/{tid}をチェックすることですか?どのようにスレッドの作成をキャッチする?

答えて

0

ptrace(PTRACE_SETOPTIONS, pid, nullptr, PTRACE_O_TRACECLONE)を使用してスレッド作成をキャッチできます。慎重にman 2 ptraceを読むことをお勧めします。

PTRACE_ATTACHは、さまざまな理由で失敗する可能性があります。 sudoでプロセスをrootとして実行してみてください。

関連する問題