作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
例如在 ELF 核心转储中,我们有这样的东西:
Start End Page Offset
0x08048000 0x08049000 0x00000000
/hshare/prog
0x08049000 0x0804a000 0x00000000
/hshare/prog
什么完全映射到什么?
最佳答案
What is mapped exactly to what
您正在有效地查看崩溃时二进制文件的 /proc/self/maps
的内容。
在您的情况下,prog
非常小,以至于它的 .text
和 .data
可以放在一个页面上。因此 prog
被 mmap
编辑了两次:一次具有 .text
的 r-x
权限(实际上它是第一个 PT_LOAD
段,因为 .text
链接后没有意义),一次用于 .data
和 .bss
(第二个 PR_LOAD
段)具有 rw-
权限。
查看 readelf -Wl prog
的输出可能会更清楚。
如果您使 prog
变大(例如,通过使用带有 -static
的完全静态链接)并使其成为核心转储,您将看到这两个映射将现在有不同的 Page Offset
。
关于linux - ELF NT_FILE 注释的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36669535/
例如在 ELF 核心转储中,我们有这样的东西: Start End Page Offset 0x08048000 0x08049000 0x00000000 /hsha
我是一名优秀的程序员,十分优秀!