を読んでプロセスのメモリを読み取ろうとしています/proc/<pid>/mem
。使用しているときにコードが期待どおりに機能する
char *data = malloc(123456);
read(fd_mem, buffer, 123456);
malloc/read
しかし、メモリのチャックが非常に大きい場合、呼び出しのために多くの時間がかかる可能性があります。というわけで切り替えてみましたmmap
。私はいくつかのテストコードを実行しましたが、mmaping についてグーグルで調べ/proc/<pid>/mem
て、それが不可能であることに気付くまで失敗し続けました (またはそうですか?)。
/proc/<pid>/mem
だから私の質問は次のとおりです:どうすれば内部のデータをメモリのブロックのように読み取ることができますか?malloc/read
編集:メモリのブロック全体にアクセスする必要があります。一度に N バイトを読み取りたくありません。
編集:すでに/proc/pid/mem で mmap を見ました。その質問には答えがありません。/proc/mem が mmap をサポートしていないというだけです。これは既にわかっています。私は解決策を求めています。