出于debugging的目的,我需要testing一个指针,看它是否指向一个有效的可读页面。 目前我正在parsing/ proc / [pid] / maps来查看地址映射是否正常,但是这似乎有点冗长。 有没有更好的办法? 谢谢。
规范的方法是使用write()系统调用从页面读取(写入一个dummy pipe()文件描述符)。 如果要写入的缓冲区不可读,它将返回-1 ,并返回-1 ,并返回errno == EFAULT 。
write()
pipe()
-1
errno == EFAULT