有没有人成功用Linux内核2.6 mmap'/proc/pid/mem文件?我收到一个ENODEV(没有这样的设备)错误.我的电话看起来像这样:
char * map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, mem_fd, offset);
Run Code Online (Sandbox Code Playgroud)
我通过在调试时查看/ proc/pid/maps文件进行验证,当执行到达此调用时,offset具有堆栈顶部的值减去PAGE_SIZE.我还用ptrace验证了mmap是将errno设置为ENODEV.