我正在尝试通过读取来读取进程的内存/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,我已经知道了。我正在寻求解决方案。