gdb:如何判断某块内存是否标记为只读
我正在调试一个程序(在 Solaris 中),该程序可能正在写入标记为只读的内存,但我不确定如何确定该内存页是否实际上标记为只读。
我可以用 gdb 做出这个决定吗?如果没有,我可以用什么?
I'm debugging a program (in Solaris) that may be writing into memory marked read-only, but I'm unsure how to determine whether that page of memory is actually marked as read-only.
Can I make that determination with gdb? If not, what can I use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Solaris 上,您可以使用 pmap 命令,例如
pmap
。这将显示每个映射的 r/w/x 权限;以及其他信息。Solaris 手册页中的示例:
On Solaris you can look at the address space of a process by using the pmap command, e.g.
pmap <pid>
. This will display the r/w/x permissions for each mapping; along with other information.Example from Solaris man page:
查看
pmap
和pmem
工具。Look into
pmap
andpmem
tools.