mirror of
https://github.com/esp8266/Arduino.git
synced 2025-12-06 05:42:10 +03:00
Using GDB stub
Add
#include <GDBStub.h>to the sketchUpload the sketch
Redirect serial port to TCP port:
tcp_serial_redirect.py -p /dev/tty.SLAB_USBtoUART -b 115200 --spy -P 9980 --rts=0 --dtr=0Change port and baud rate as necessary. This command requires python and pyserial.
Observe serial output:
nc localhost 9980Once crash happens, close nc and start gdb:
xtensa-lx106-elf-gdb /path/to/Sketch.cpp.elf -ex "target remote :9980"Or, using the provided gdbcmds file:
xtensa-lx106-elf-gdb /path/to/Sketch.cpp.elf -x gdbcmdsUse gdb to inspect program state at the point of an exception.
Tips and tricks
To halt the target when software WDT fires, add
((int*)0) = 0;at the top of
__wrap_system_restart_localin core_esp8266_postmortem.c.
License
Espressif MIT License. See License file.