Analyzes C/C++ binaries for code size, static variables and stack usages. It creates a report with disassembler and call-stack analysis per directory, file, or function.
Install with pip:
pip install puncover
Run it by passing the binary to analyze:
puncover --elf_file project.elf
...
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Open the link in your browser to view the analysis.
To run the tests locally, you need to install the development dependencies:
install pyenv: https://github.com/pyenv/pyenv
curl https://pyenv.run | bash
install all the python environments, using this bashism (this can take a few minutes):
for _py in $(<.python-version ); do pyenv install ${_py}; done
install the development dependencies:
pip install -r requirements-dev.txt
Then you can run the tests with:
tox
or, to target only the current python
on $PATH
:
tox -e py
See release.sh
for a script that automates the above steps. This example will
work with the PyPi tokens (now required):
PUNCOVER_VERSION=0.3.5 TWINE_PASSWORD="<pypi token>" TWINE_USERNAME=__token__ ./release.sh
Only for reference, the release script should take care of all of this.
Contributions are welcome! Please open an issue or pull request on GitHub.