5
當我看使用內存映射
執行cat/proc/PID /圖進程的內存映射
有條目是這樣的:
00-40336000 r-xp 00000000 b3:15 875 /system/lib/libm.so
40336000-40337000 r--p 00014000 b3:15 875 /system/lib/libm.so
40337000-40338000 rw-p 00015000 b3:15 875 /system/lib/libm.so
40338000-40345000 r-xp 00000000 b3:15 789 /system/lib/libcutils.so
40345000-40346000 r--p 0000c000 b3:15 789 /system/lib/libcutils.so
40346000-40347000 rw-p 0000d000 b3:15 789 /system/lib/libcutils.so
40347000-40355000 rw-p 00000000 00:00 0
40355000-403bc000 r-xp 00000000 b3:15 877 /system/lib/libmedia.so
403bc000-403bd000 ---p 00000000 00:00 0
403bd000-403d0000 r--p 00067000 b3:15 877 /system/lib/libmedia.so
403d0000-403d1000 rw-p 0007a000 b3:15 877 /system/lib/libmedia.so
403d1000-403d5000 rw-p 00000000 00:00 0
403d5000-403d8000 rw-p 00000000 00:00 0
我明白.so代表進程映射的共享庫。似乎每一個。所以有3個項目和它們的權限是 R-XP [R - P RW-P
那麼,如何解讀?我可以假設r-xp是庫的代碼部分,因爲它具有x(執行)權限? r - p和rw-p怎麼樣,他們是數據部分?
空條目怎麼樣?例如,關於libmedia的最後6個條目有三個空的條目(00:00 0)。這些是什麼?
403bc000-403bd000 ---p 00000000 00:00 0
403bd000-403d0000 r--p 00067000 b3:15 877 /system/lib/libmedia.so
403d0000-403d1000 rw-p 0007a000 b3:15 877 /system/lib/libmedia.so
403d1000-403d5000 rw-p 00000000 00:00 0
403d5000-403d8000 rw-p 00000000 00:00 0
這似乎是(至少部分)的部分,沒有相關的文件可能是匿名的地圖用於在運行時分配的內存。 –