子プロセスによって呼び出されたすべてのシステムコールをトレースし、その正確なメモリ使用量(共有メモリを除く)を判別するプログラムを作成しています。
これが私の計画です。
子プロセスを父プロセスに追跡させ、
子プロセスがシステムコールを行う場合、親プロセスはSIGTRAPを受け取ります。
次に、ptrace(PTRACE_PEEKUSER、child_pid、4 * ORIG_EAX、NULL)を使用してシステムコールIDを取得します。
idがSYS_brk、SYS_sbrk、SYS_mmap2、SYS_mmap、SYS_mremap、SYS_munmap、
呼び出しのパラメータを取得し、メモリ使用量を計算することができます。
でもそれは私を悩ませます
計算方法がわかりません。
SYS_mmap2には6つを超えるパラメーターがありますが、どのように取得すればよいですか?