def get_addresses_from_tinytracer()

in tools/guloader/guloader_FixCFG.py [0:0]


def get_addresses_from_tinytracer(file: pathlib.Path) -> list | None:
    """
    Retrieves all addresses from TinyTracer log file
    
    :param file: The path to the TinyTracer log file
    :return: A list of addresses from TinyTracer log file
             None if extraction fails or encounters an exception.
    """

    addrs = list()
    with open(file, "r") as file:
        for line in file:
            parts = line.strip().split(";")
            if len(parts) >= 2:
                addresses = parts[0].split("+")
                if len(addresses) == 2:
                    try:
                        address1, address2 = map(lambda x: int(''.join(c for c in x if c.isdigit() or c in 'abcdefABCDEF'), 16), addresses)
                        result_address = int(hex(address1 + address2),16)
                        addrs.append(result_address)
                    except ValueError as e:
                        print(f"Error processing line: {line.strip()}. {e}")
                else:
                    print(f"Invalid format for addresses in line: {line.strip()}")
            else:
                print(f"Invalid line format: {line.strip()}")

    return addrs