Skip to main content

A CLI tool that analyzes the memory usage of a binary via its .map file.

Project description

mapdump

Mapdump is a simple command-line tool that analyzes binaries to examine memory usage. It is built mainly for embedded C code.

installation

Note: PyPi support is coming soon!

You can download and use mapdump by cloning this repo:

$ git clone https://github.com/sorjente/mapdump
$ cd mapdump/
$ python3 -m mapdump <my_binarys_map.map>

usage

Note: custom options coming soon!

Using mapdump is very simple; you only need to provide it with the .map file corresponding to the binary you want to analyze. Let's say I want to analyse hello_world.map:

$ python3 -m mapdump hello_world.map
FLASH @ 0x0008000000 (524288 bytes)
****************************************
    build/startup_stm32l452.o                                                                                     [460 bytes, 31.94% of FLASH space used]
    lib_a-memcpy.o (/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard/libc.a)  [308 bytes, 21.39% of FLASH space used]
    rcc.o (./libopencm3/lib/libopencm3_stm32l4.a)                                                                 [220 bytes, 15.28% of FLASH space used]
    lib_a-memset.o (/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard/libc.a)  [156 bytes, 10.83% of FLASH space used]
    build/main.o                                                                                                  [116 bytes, 8.06% of FLASH space used]
    gpio_common_f0234.o (./libopencm3/lib/libopencm3_stm32l4.a)                                                   [68 bytes, 4.72% of FLASH space used]
    flash_common_all.o (./libopencm3/lib/libopencm3_stm32l4.a)                                                    [36 bytes, 2.50% of FLASH space used]
    flash_common_idcache.o (./libopencm3/lib/libopencm3_stm32l4.a)                                                [32 bytes, 2.22% of FLASH space used]
    rcc_common_all.o (./libopencm3/lib/libopencm3_stm32l4.a)                                                      [26 bytes, 1.81% of FLASH space used]
    gpio_common_all.o (./libopencm3/lib/libopencm3_stm32l4.a)                                                     [18 bytes, 1.25% of FLASH space used]

dev notes

Tests can (and should be!) run with the following command:

$ python3 -m unittest discover -s mapdump/tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mapdump-1.0.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

mapdump-1.0.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file mapdump-1.0.0.tar.gz.

File metadata

  • Download URL: mapdump-1.0.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for mapdump-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0e946fd7c406b05b64c5ba7200f05167fbd6e461f729410a6a37332a6ba90aed
MD5 e4686c7e02187797e93849dcc1dc567d
BLAKE2b-256 36c22f4ec33482202d53c1e3bf374e55328f03f2a073ec1b3de826c71516d323

See more details on using hashes here.

File details

Details for the file mapdump-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mapdump-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for mapdump-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6aa0e21b59a8095be52c5a46279ed29394659c93ae131a1a1f589523bc7608cc
MD5 f63aca4d5267da2b5a90f0ef928578c3
BLAKE2b-256 8c4e8b85338a6d0587eca941d472c11c96a6889529614562f1474af965ae0d75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page