16

Linuxカーネル2.6で/proc/ pid / memファイルをmmapすることに成功した人はいますか?ENODEV(そのようなデバイスはありません)エラーが発生します。私の電話は次のようになります。

char * map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, mem_fd, offset);

そして、デバッグ中に/ proc / pid / mapsファイルを調べて、実行がこの呼び出しに達すると、offsetがスタックの最上位からPAGE_SIZEを引いた値になることを確認しました。また、ptraceを使用して、mmapがerrnoをENODEVに設定していることを確認しました。

4

1 に答える 1

25

を参照proc_mem_operationsして/usr/src/linux/fs/proc/base.cください:/proc/.../memをサポートしていませんmmap

于 2011-03-07T06:17:04.010 に答える