Utilitário que fornece linha de / proc / id / maps por endereço específico

2

Existe um utilitário que me fornece uma linha específica de /proc/id/maps quando determinado endereço específico deste processo?

Por exemplo, quando recebe 0x7fb4a84f6008 , retorna:

7fb4a84f6000-7fb4a84fd000 r-xp 00000000 00:48 20132    /lib64/libnss_compat-2.21.so
    
por Marko Kevac 11.05.2015 / 13:22

2 respostas

2

Talvez pmap faça o que você deseja:

$ sudo pmap -Ab75bf022 26746
26746:   dhclient -1 -v -pf /run/dhclient.eth5.pid -lf /var/lib/dhcp/dhclient.eth5.leases eth5
b75bf000      4K rw--- ld-2.19.so
 total        4K

Ou com um intervalo de endereços e um caminho completo:

$ sudo pmap -p -Ab75bf022,b77bf022 26746
26746:   dhclient -1 -v -pf /run/dhclient.eth5.pid -lf /var/lib/dhcp/dhclient.eth5.leases eth5
b75bf000      4K rw--- /lib/i386-linux-gnu/ld-2.19.so
b75c0000   1732K r-x-- /sbin/dhclient
b7771000      4K r---- /sbin/dhclient
b7772000     12K rw--- /sbin/dhclient
b7775000     44K rw---   [ anon ]
 total     1796K
    
por 11.05.2015 / 14:00
1

Você pode usar awk para fazer isso:

awk -F'[ -]' -v s=7fb4a84f6008 '$1<=s&&s<$2' /proc/id/maps

assumindo que você pode fornecer o endereço pesquisado (depois de s= ) no mesmo formato que aparece em maps (sem 0x e tendo o mesmo tamanho).

    
por 11.05.2015 / 13:49