/proc/{pid}/maps解讀

amlloc發表於2019-02-18

非常常用的系統檔案

總共6列,如

76093000-76096000 r-xp 00000000 b3:19 941 /system/lib/libmemalloc.so
複製程式碼
  1. 所處虛擬記憶體地址(VMA)範圍:``76093000-76096000`

    • 在Linux中將程式虛擬空間中的一個段叫做虛擬記憶體區域VMA(Virtual Memory Area)。
    • VMA對應ELF檔案中的segment。
    • ELF檔案有section和segment的概念。從連結的角度看,ELF是按照section儲存的,事實也的確如此;從裝載的角度看,ELF檔案又按照segment進行劃分,這是為了防止按照section裝載時造成的內部碎片。segment相當與是將多個屬性(讀寫執行)相同的section合併在一起進行。program headers 存放segment的資訊;section table存放section的資訊.
  2. VMA許可權:r-xp

    r=讀,w=寫,x=,s=共享,p=私有

  3. 偏移量:00000000

    表示VMA對應的segment在映像檔案中的偏移。

  4. 主裝置號和次裝置號(大霧):b3:19

  5. 映像檔案的節點號inode:941

  6. 映像檔案的路徑:/system/lib/libmemalloc.so

相關文章