def METHOD_NAME(self, match):
    trace = "\n"
    enc = "mbcs" if IS_WINDOWS else "utf-8"
    args = [self.addr2line_path, u"-fipC", u"-e", self.firmware_path]
    try:
        addr = match.group()
        output = (
            subprocess.check_output(args + [addr])
            .decode(enc)
            .strip()
        )
        output = output.replace(
            "\n", "\n     "
        )  # newlines happen with inlined methods
        output = self.strip_project_dir(output)
        # Output the trace in yellow color so that it is easier to spot
        trace += "\033[33m=> %s: %s\033[0m\n" % (addr, output)
    except subprocess.CalledProcessError as e:
        sys.stderr.write(
            "%s: failed to call %s: %s\n"
            % (self.__class__.__name__, self.addr2line_path, e)
        )
    return trace