【发布时间】:2021-12-18 12:03:33
【问题描述】:
我正在调试 Linux 应用程序中的 seg 错误,该错误是由程序试图更改静态常量数组结构引起的(因此数据位于 ELF 的只读部分中,随后加载到页面中授予只读权限)。
在 GDB 中,我在执行错误存储的汇编程序行上放置了一个断点,当它停在那里时,我使用 GDB 手动执行了等效的写入操作。 GDB 毫无怨言地做到了这一点,并且读回该值证明它确实已被写入。我查看了 /proc/thepid/maps 并且该特定页面仍被标记为“不可写”。
所以我的问题是:GDB 是否临时在只读页面上设置写入权限,执行写入,然后重置权限?谢谢。
【问题讨论】:
标签: linux permissions gdb