出于调试目的,我需要测试一个指针以查看其是否指向有效的可读页面。目前,我正在解析/ proc / [pid] / maps来查看地址是否映射正确,但这似乎有点麻烦。有没有更好的办法?谢谢。
规范的方法是使用write()系统调用从页面读取(写入虚拟pipe()文件描述符)。如果传递给它的缓冲区不可读,它将返回-1with errno == EFAULT而write()不是出错。
write()
pipe()
-1
errno == EFAULT