1

を読んでプロセスのメモリを読み取ろうとしています/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 をサポートしていないというだけです。これは既にわかっています。私は解決策を求めています。

4

0 に答える 0