Index: lldb/examples/python/crashlog.py =================================================================== --- lldb/examples/python/crashlog.py +++ lldb/examples/python/crashlog.py @@ -335,6 +335,15 @@ plist["DBGSymbolRichExecutable"] ) self.resolved_path = self.path + if "DBGSourcePathRemapping" in plist: + path_remapping = plist["DBGSourcePathRemapping"] + for key in path_remapping: + source_path = os.path.expanduser( + path_remapping[key] + ) + if os.path.exists(source_path): + self.resolved_source = True + if not self.resolved_path and os.path.exists(self.path): if not self.find_matching_slice(): return False @@ -372,7 +381,11 @@ self.path and os.path.exists(self.path) ): with print_lock: - print("Resolved symbols for %s %s..." % (uuid_str, self.path)) + source_resolved = "and sources " if self.resolved_source else "" + print( + "Resolved symbols %sfor %s %s..." + % (source_resolved, uuid_str, self.path) + ) return True else: self.unavailable = True Index: lldb/examples/python/symbolication.py =================================================================== --- lldb/examples/python/symbolication.py +++ lldb/examples/python/symbolication.py @@ -257,6 +257,7 @@ self.resolved_path = None self.resolve = False self.resolved = False + self.resolved_source = False self.unavailable = False self.uuid = uuid self.section_infos = list()