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