[Lldb-commits] [PATCH] D109263: [lldb] Update crashlog.py to accept multiple results from mdfind
Jonas Devlieghere via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Sep 3 16:27:50 PDT 2021
JDevlieghere created this revision.
JDevlieghere added reviewers: aprantl, clayborg.
JDevlieghere requested review of this revision.
mdfind can return multiple results, some of which are not even dSYM
bundles, but Xcode archives (`.xcrachive).
Currently, we end up concatenating the paths, which is obviously bogus.
This patch not only fixes that, but now also skips paths that don't have
a Contents/Resources/DWARF subdirectory.
rdar://81270312
https://reviews.llvm.org/D109263
Files:
lldb/examples/python/crashlog.py
Index: lldb/examples/python/crashlog.py
===================================================================
--- lldb/examples/python/crashlog.py
+++ lldb/examples/python/crashlog.py
@@ -293,18 +293,24 @@
return False
if not self.resolved_path and not os.path.exists(self.path):
try:
- dsym = subprocess.check_output(
+ mdfind_results = subprocess.check_output(
["/usr/bin/mdfind",
- "com_apple_xcode_dsym_uuids == %s"%uuid_str]).decode("utf-8")[:-1]
- if dsym and os.path.exists(dsym):
- print(('falling back to binary inside "%s"'%dsym))
- self.symfile = dsym
+ "com_apple_xcode_dsym_uuids == %s" % uuid_str]).decode("utf-8").splitlines()
+ found_matching_slice = False
+ for dsym in mdfind_results:
dwarf_dir = os.path.join(dsym, 'Contents/Resources/DWARF')
+ if not os.path.exists(dwarf_dir):
+ # Not a dSYM bundle, probably an Xcode archive.
+ continue
+ print('falling back to binary inside "%s"' % dsym)
+ self.symfile = dsym
for filename in os.listdir(dwarf_dir):
- self.path = os.path.join(dwarf_dir, filename)
- if not self.find_matching_slice():
- return False
- break
+ self.path = os.path.join(dwarf_dir, filename)
+ if self.find_matching_slice():
+ found_matching_slice = True
+ break
+ if found_matching_slice:
+ break
except:
pass
if (self.resolved_path and os.path.exists(self.resolved_path)) or (
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109263.370682.patch
Type: text/x-patch
Size: 2074 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210903/e15fde0d/attachment.bin>
More information about the lldb-commits
mailing list