diff --git a/tools/decoder.py b/tools/decoder.py index 0055693648..b1f1706767 100755 --- a/tools/decoder.py +++ b/tools/decoder.py @@ -10,6 +10,7 @@ import sys import re import subprocess +import shutil # https://github.com/me-no-dev/EspExceptionDecoder/blob/349d17e4c9896306e2c00b4932be3ba510cad208/src/EspExceptionDecoder.java#L59-L90 EXCEPTION_CODES = ( @@ -104,7 +105,10 @@ def decode_lines(format_addresses, elf, lines): STACK_LINE_RE = re.compile(r"^[0-9a-f]{8}:\s\s+") + IGNORE_FIRMWARE_RE = re.compile(r"^(epc1=0x........, |Fatal exception )") + CUT_HERE_STRING = "CUT HERE FOR EXCEPTION DECODER" + DECODE_IT = "DECODE IT" EXCEPTION_STRING = "Exception (" EPC_STRING = "epc1=" @@ -132,6 +136,8 @@ def format_address(address): stack_addresses = print_all_addresses(stack_addresses) last_stack = line.strip() # 3fffffb0: feefeffe feefeffe 3ffe85d8 401004ed + elif IGNORE_FIRMWARE_RE.match(line): + continue elif in_stack and STACK_LINE_RE.match(line): _, addrs = line.split(":") addrs = ANY_ADDR_RE.findall(addrs) @@ -163,8 +169,10 @@ def format_address(address): in_stack = True # ignore elif "<<