The official idf.py monitor just tries to decode any 4 byte hex number it finds.
This variant safely decodes backtraces as well as heap tracing dumps.
Backtrace with new version:
Backtrace: 0x400d3e44:0x3ffb2190 0x4008ba5c:0x3ffb2200 0x4008f085:0x3ffb2230
#0 0x400d3e44 in app_main at src/main.cpp:71 (discriminator 2)
#1 0x4008ba5c in main_task at /home/tassadar/.platformio/packages/framework-espidf/components/freertos/app_startup.c:208 (discriminator 13)
#2 0x4008f085 in vPortTaskWrapper at /home/tassadar/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:134
Heap tracing dump:
====== Heap Trace: 1 records (100 capacity) ======
168 bytes (@ 0x3ffd0dd0, Internal) allocated CPU 0 ccount 0x7d7ee5e8 caller 0x4013bfc4:0x4013bfd8:0x400d3e1d:0x4008ba5f:0x4008f088:
#0 0x4013bfc4 in operator new(unsigned int) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/libstdc++-v3/libsupc++/new_op.cc:50
#1 0x4013bfd8 in operator new[](unsigned int) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/libstdc++-v3/libsupc++/new_opv.cc:33
#2 0x400d3e1d in app_main at src/main.cpp:64 (discriminator 2)
#3 0x4008ba5f in main_task at /home/tassadar/.platformio/packages/framework-espidf/components/freertos/app_startup.c:209 (discriminator 13)
#4 0x4008f088 in vPortTaskWrapper at /home/tassadar/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:136
freed by 0x4014e7f8:0x4013bf68:0x400d3e29:0x4008ba5f:0x4008f088:0x00000000:0x00000000:0x00000000:0x00000000:0x00000000
#0 0x4014e7f8 in operator delete(void*) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/libstdc++-v3/libsupc++/del_op.cc:50
#1 0x4013bf68 in operator delete[](void*) at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/libstdc++-v3/libsupc++/del_opv.cc:36
#2 0x400d3e29 in app_main at src/main.cpp:66
#3 0x4008ba5f in main_task at /home/tassadar/.platformio/packages/framework-espidf/components/freertos/app_startup.c:209 (discriminator 13)
#4 0x4008f088 in vPortTaskWrapper at /home/tassadar/.platformio/packages/framework-espidf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:136
====== Heap Trace Summary ======
Mode: Heap Trace All
0 bytes alive in trace (0/1 allocations)
records: 1 (100 capacity, 83 high water mark)
total allocations: 1
total frees: 1
================================
Backtrace with new version:
Heap tracing dump: