Skip to main content

esp-coredump

A Python-based utility that helps users to retrieve and analyse core dumps. This tool provides two commands for core dumps analysis:

  • info_corefile - prints crashed task’s registers, callstack, list of available tasks in the system, memory regions and contents of memory stored in core dump (TCBs and stacks)

  • dbg_corefile - creates core dump ELF file and runs GDB debug session with this file. User can examine memory, variables and tasks states manually. Note that since not all memory is saved in core dump only values of variables allocated on stack will be meaningful

Installation

esp-coredump is a standalone utility integrated into ESP-IDF. It is recommended to run esp-coredump from within ESP-IDF environment due to the ease of setup.

To install the ESP-IDF framework please visit the documentation.

Standalone Installation (without ESP-IDF)

If you're attempting to run esp-coredump outside of the ESP-IDF environment, you'll need to install esp-gdb. The most recent version can be downloaded from the GitHub releases page. To determine the appropriate version for your environment, refer to the ESP-IDF documentation. Note that toolchain versions may vary between ESP-IDF versions. To get the correct version for your needs, select your version of ESP-IDF in the top left corner. Ensure you download the correct version that matches the architecture of your ESP32. After downloading the toolchain, verify that it's accessible in your system's PATH.

Examples

esp-coredump can be used as a CLI tool as well as a separate package. Before executing any examples, ensure that all requirements outlined in the Installation section have been met. If you decide to use ESP-IDF, all commands should be run from within the ESP-IDF environment.

Build test_apps for a target, flash and get a base64 text (test_apps folder)

from esp_coredump import CoreDump

# Instantiate the coredump object
coredump = CoreDump(chip='esp32', core="./tests/esp32/coredump.b64", print_mem=True, core_format='b64', prog='./test_apps/build/test_core_dump.elf')
coredump.info_corefile()  #  print the info of the test app corefile
coredump.dbg_corefile()  #  run GDB debug session with provided ELF file

Documentation

Visit the documentation or run esp-coredump -h.

Contributing

Code Style & Static Analysis

Please follow these coding standards when writing code for esp-coredump:

Pre-commit checks

pre-commit is a framework for managing pre-commit hooks. These hooks help to identify simple issues before committing code for review.

To use the tool, first install pre-commit. Then enable the pre-commit and commit-msg git hooks:

python -m pip install pre-commit
pre-commit install -t pre-commit -t commit-msg

On the first commit pre-commit will install the hooks, subsequent checks will be significantly faster. If an error is found an appropriate error message will be displayed.

Conventional Commits

esp-coredump complies with the Conventional Commits standard. Every commit message is checked with Conventional Precommit Linter, ensuring it adheres to the standard.

License

This document and the attached source code are released as Free Software under Apache Software License Version 2.0.

Download files

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

Source Distribution

esp_coredump-1.17.1.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

esp_coredump-1.17.1-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

File details

Details for the file esp_coredump-1.17.1.tar.gz.

File metadata

  • Download URL: esp_coredump-1.17.1.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for esp_coredump-1.17.1.tar.gz
Algorithm Hash digest
SHA256 c1ee0e36f1754f6af62a301312a668c4262001382f3c47fea8db8e2ec9f23d47
MD5 746fe5888597fbecb2c38454df89c801
BLAKE2b-256 2f5ba1da1c79dec759c1ba37ccde06af3475d59a1ff82a37eeb0a33f3e3f7aec

See more details on using hashes here.

File details

Details for the file esp_coredump-1.17.1-py3-none-any.whl.

File metadata

  • Download URL: esp_coredump-1.17.1-py3-none-any.whl
  • Upload date:
  • Size: 45.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for esp_coredump-1.17.1-py3-none-any.whl
Algorithm Hash digest
SHA256 16303ee457a65c23230d4ea8fde83de7505dc02eb133744338023a8e81b77f3e
MD5 50aacef4e913181815a06b90a01711a9
BLAKE2b-256 6e6dbce9020fb98a042b3e4aa57cbf65f2b13baadd35654fb60fd2d9c0fadbcd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.17.1 This release

2 files

1.17.0

2 files

1.16.0

2 files

1.15.0

2 files

1.14.0

2 files

1.13.1

2 files

1.12.0

2 files

1.11.0

2 files

1.10.0

2 files

1.9.0

1 file

1.8.0

1 file

1.7.0

1 file

1.6.0

1 file

1.5.2

1 file

1.5.1

1 file

1.5.0

1 file

1.4.2

1 file

1.4.1

1 file

1.4

1 file

1.3

1 file

1.2

1 file

1.1

1 file

1.0

1 file

0.4.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page