如何在给定内存页面上找到保护?

时间:2010-08-19 19:14:57

标签: macos memory memory-management

我试图让一些内存可执行(在Mac OS 10.6上),我怀疑mprotect()是静默失败的。给定一页内存的地址,我该如何检查它实际上是否标记为可执行文件?

1 个答案:

答案 0 :(得分:1)

使用vmmap获取如下输出:

Stack                  00007fff6276e000-00007fff62f6d000 [ 8188K     8K     8K] rw-/rwx SM=PRV          thread 0
Stack                  00007fff62f6d000-00007fff62f6e000 [    4K     4K     4K] rw-/rwx SM=COW          thread 0
__TEXT                 00007fff62f6e000-00007fff62fa3000 [  212K   212K     0K] r-x/rwx SM=COW          /usr/lib/dyld
__DATA                 00007fff62fa3000-00007fff62fa5000 [    8K     8K     8K] rw-/rwx SM=COW          /usr/lib/dyld
__DATA                 00007fff62fa5000-00007fff62fdf000 [  232K    28K    28K] rw-/rwx SM=COW          /usr/lib/dyld