2017-09-19 10 views
0

리눅스에서 프로그램을 실행하면/proc/pid/smaps에서 바이너리의 일부가 실제 메모리에 매핑되는 것을 볼 수 있습니다. 예를 들면 :바이너리 파일의 매핑 검사

08047000-0804d000 r-xp 00000000 b4:04 2845  /usr/bin/test_prog 
Size:     24 kB 
Rss:     20 kB 
Pss:     20 kB 
Shared_Clean:   0 kB 
Shared_Dirty:   0 kB 
Private_Clean:  20 kB 
Private_Dirty:   0 kB 
Referenced:   20 kB 
... 

(24 킬로바이트에서 20 매핑)

어떻게 정확히 이진의 일부가 매핑 된 볼 수 있습니까? 내가 이해한다면 this 대답 필드 주소에 따르면/proc/pid/maps는 가상 메모리에있는 전체 파일의 시작 및 끝 주소를 보여줍니다. 바이너리가로드되고 RAM에 매핑되는 가상 메모리의 어느 부분을 조사하기 위해 어떤 도구를 사용할 수 있습니까?

답변

0

/proc/pid/pagemap은 이러한 정보를 제공 할 수 있습니다. 문서는 here입니다.