The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

procmaps

Lifecycle: experimental R build status Codecov test coverage CRAN status

The goal of procmaps is to help determine which library or other region is mapped to a specific address of a process. It is the equivalent of /proc/self/maps as a data frame, and is designed to work on all major platforms.

Installation

You can install the released version of procmaps from CRAN with:

install.packages("procmaps")

Example

This is what /proc/self/maps looks like (on Linux) when this document is rendered:

cat /proc/self/maps
#> 56390592e000-563905936000 r-xp 00000000 fd:01 2883652                    /bin/cat
#> 563905b35000-563905b36000 r--p 00007000 fd:01 2883652                    /bin/cat
#> 563905b36000-563905b37000 rw-p 00008000 fd:01 2883652                    /bin/cat
#> 563906bb9000-563906bda000 rw-p 00000000 00:00 0                          [heap]
#> 7fb42c468000-7fb42c8c7000 r--p 00000000 fd:01 29370411                   /usr/lib/locale/locale-archive
#> 7fb42c8c7000-7fb42caae000 r-xp 00000000 fd:01 15731435                   /lib/x86_64-linux-gnu/libc-2.27.so
#> 7fb42caae000-7fb42ccae000 ---p 001e7000 fd:01 15731435                   /lib/x86_64-linux-gnu/libc-2.27.so
#> 7fb42ccae000-7fb42ccb2000 r--p 001e7000 fd:01 15731435                   /lib/x86_64-linux-gnu/libc-2.27.so
#> 7fb42ccb2000-7fb42ccb4000 rw-p 001eb000 fd:01 15731435                   /lib/x86_64-linux-gnu/libc-2.27.so
#> 7fb42ccb4000-7fb42ccb8000 rw-p 00000000 00:00 0 
#> 7fb42ccb8000-7fb42ccdf000 r-xp 00000000 fd:01 15731135                   /lib/x86_64-linux-gnu/ld-2.27.so
#> 7fb42ceb2000-7fb42ceb4000 rw-p 00000000 00:00 0 
#> 7fb42cebd000-7fb42cedf000 rw-p 00000000 00:00 0 
#> 7fb42cedf000-7fb42cee0000 r--p 00027000 fd:01 15731135                   /lib/x86_64-linux-gnu/ld-2.27.so
#> 7fb42cee0000-7fb42cee1000 rw-p 00028000 fd:01 15731135                   /lib/x86_64-linux-gnu/ld-2.27.so
#> 7fb42cee1000-7fb42cee2000 rw-p 00000000 00:00 0 
#> 7ffed6a9a000-7ffed6abc000 rw-p 00000000 00:00 0                          [stack]
#> 7ffed6b08000-7ffed6b0b000 r--p 00000000 00:00 0                          [vvar]
#> 7ffed6b0b000-7ffed6b0d000 r-xp 00000000 00:00 0                          [vdso]
#> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Other operating systems make this information available in other form. This package provides the equivalent as a data frame, regardless of operating system:

library(procmaps)
procmap_get()
#> Converting to tibble, mute this message with `as_tibble = TRUE`.
#> # A tibble: 378 x 6
#>    from         to          perms offset  inode  pathname                       
#>    <chr>        <chr>       <chr> <chr>   <chr>  <chr>                          
#>  1 000055cc2db… 000055cc2d… r-xp  000000… 29393… /usr/lib/R/bin/exec/R          
#>  2 000055cc2dd… 000055cc2d… r--p  000000… 29393… /usr/lib/R/bin/exec/R          
#>  3 000055cc2dd… 000055cc2d… rw-p  000010… 29393… /usr/lib/R/bin/exec/R          
#>  4 000055cc2e4… 000055cc33… rw-p  000000… 0      [heap]                         
#>  5 00007f9bac9… 00007f9bac… r-xp  000000… 28991… /home/kirill/git/R/r-prof/proc…
#>  6 00007f9bac9… 00007f9bac… ---p  000040… 28991… /home/kirill/git/R/r-prof/proc…
#>  7 00007f9bacb… 00007f9bac… r--p  000030… 28991… /home/kirill/git/R/r-prof/proc…
#>  8 00007f9bacb… 00007f9bac… rw-p  000040… 28991… /home/kirill/git/R/r-prof/proc…
#>  9 00007f9bacb… 00007f9bac… r-xp  000000… 28722… /home/kirill/R-dev/glue/libs/g…
#> 10 00007f9bacb… 00007f9bac… ---p  000020… 28722… /home/kirill/R-dev/glue/libs/g…
#> # … with 368 more rows

Code of Conduct

Please note that the procmaps project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.