gdb:如何判断某段内存是否标记为只读

时间:2011-07-07 19:47:30

标签: gdb solaris readonly

我正在调试一个程序(在Solaris中)可能正在写入标记为只读的内存,但我不确定如何确定该内存页面是否实际标记为只读。

我可以用gdb做出决定吗?如果没有,我可以使用什么?

2 个答案:

答案 0 :(得分:2)

在Solaris上,您可以使用pmap命令查看进程的地址空间,例如: pmap <pid>。这将显示每个映射的r / w / x权限;以及其他信息。

Solaris手册页中的示例:

$ pmap 102905
102905:    sh
00010000    192K r-x--  /usr/bin/ksh
00040000      8K rwx--  /usr/bin/ksh
00042000     40K rwx--    [ heap ]
FF180000    664K r-x--  /usr/lib/libc.so.1
FF236000     24K rwx--  /usr/lib/libc.so.1
FF23C000      8K rwx--  /usr/lib/libc.so.1
FF250000      8K rwx--    [ anon ]
...
 total     1880K

答案 1 :(得分:1)

查看pmappmem工具。