Linux ELF NT_文件注释的含义
例如,在ELF核心转储中,我们有如下内容:Linux ELF NT_文件注释的含义,linux,elf,Linux,Elf,例如,在ELF核心转储中,我们有如下内容: Start End Page Offset 0x08048000 0x08049000 0x00000000 /hshare/prog 0x08049000 0x0804a000 0x00000000 /hshare/prog 什么映射到什么 什么映射到什么 在崩溃时,您可以有效地查看二进制文件的/proc/self/maps内容 在您的例子中,prog非常小,以至于它的.text和.data可以放在一个页
Start End Page Offset
0x08048000 0x08049000 0x00000000
/hshare/prog
0x08049000 0x0804a000 0x00000000
/hshare/prog
什么映射到什么
什么映射到什么
在崩溃时,您可以有效地查看二进制文件的/proc/self/maps
内容
在您的例子中,prog
非常小,以至于它的.text
和.data
可以放在一个页面上。因此prog
是mmap
两次:一次是r-x
权限.text
(实际上它是第一个PT\u加载
段,因为。text
在链接后没有意义),一次是数据和bss
(第二个PR\u加载
段)具有rw-
权限
查看readelf-Wl prog
的输出可能会更清楚
如果将prog
变大(例如,通过使用带-static
的完全静态链接)并使其成为核心转储,您将看到这两个映射现在将具有不同的页面偏移量
什么映射到什么
在崩溃时,您可以有效地查看二进制文件的/proc/self/maps
内容
在您的例子中,prog
非常小,以至于它的.text
和.data
可以放在一个页面上。因此prog
是mmap
两次:一次是r-x
权限.text
(实际上它是第一个PT\u加载
段,因为。text
在链接后没有意义),一次是数据和bss
(第二个PR\u加载
段)具有rw-
权限
查看readelf-Wl prog
的输出可能会更清楚
如果将prog
变大(例如,通过使用带-static
的完全静态链接)并使其成为核心转储,您将看到这两个映射现在将具有不同的页面偏移量