aboutsummaryrefslogtreecommitdiff
path: root/lldb/examples/python/crashlog.py
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2023-11-17 08:00:07 -0800
committerGitHub <noreply@github.com>2023-11-17 08:00:07 -0800
commitec6a34e2a781fcfc6fe1d30e7cd358fb779157cf (patch)
tree600c35a21eeed5db2f029597c355d18805ed67ca /lldb/examples/python/crashlog.py
parent3f225708c4b69fc2ef5dd317f87a9e37956d045d (diff)
downloadllvm-ec6a34e2a781fcfc6fe1d30e7cd358fb779157cf.zip
llvm-ec6a34e2a781fcfc6fe1d30e7cd358fb779157cf.tar.gz
llvm-ec6a34e2a781fcfc6fe1d30e7cd358fb779157cf.tar.bz2
[lldb] Pass important options to dsymForUUID (#72669)
On macOS, we usually use the DebugSymbols framework to find dSYMs, but we have a few places (including crashlog.py) that calls out directly to dsymForUUID. Currently, this invocation is missing two important options: * `--ignoreNegativeCache`: Poor network connectivity or lack of VPN can lead to a negative cache hit. Avoiding those issues is worth the penalty of skipping these caches. * `--copyExecutable`: Ensure we copy the executable as it might not be available at its original location. rdar://118480731
Diffstat (limited to 'lldb/examples/python/crashlog.py')
-rwxr-xr-xlldb/examples/python/crashlog.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lldb/examples/python/crashlog.py b/lldb/examples/python/crashlog.py
index cb80084..9e4f942 100755
--- a/lldb/examples/python/crashlog.py
+++ b/lldb/examples/python/crashlog.py
@@ -356,7 +356,11 @@ class CrashLog(symbolication.Symbolicator):
# Keep track of unresolved source paths.
unavailable_source_paths = set()
if os.path.exists(self.dsymForUUIDBinary):
- dsym_for_uuid_command = "%s %s" % (self.dsymForUUIDBinary, uuid_str)
+ dsym_for_uuid_command = (
+ "{} --copyExecutable --ignoreNegativeCache {}".format(
+ self.dsymForUUIDBinary, uuid_str
+ )
+ )
s = subprocess.check_output(dsym_for_uuid_command, shell=True)
if s:
try: