From 0bf78548820d045547601412fdecb9fb7e0f0a04 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 4 Jun 2013 17:40:27 +0200 Subject: [PATCH] Debugger: Hard-code fallback path if LLDB does not handle -P The fallback is the "standard" location for LLDB coming with XCode. Change-Id: I1230176bc7e96476e2f748d850a5a4c93b57cafa Reviewed-by: hjk --- share/qtcreator/dumper/lbridge.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/share/qtcreator/dumper/lbridge.py b/share/qtcreator/dumper/lbridge.py index ad7ee38ee4f..bc3ac78c706 100644 --- a/share/qtcreator/dumper/lbridge.py +++ b/share/qtcreator/dumper/lbridge.py @@ -8,11 +8,24 @@ import select import sys import subprocess +proc = subprocess.Popen(args=[sys.argv[1], '-P'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) +(path, error) = proc.communicate() + +if error.startswith('lldb: invalid option -- P'): + sys.stdout.write('msg=\'Could not run "%s -P". Trying to find lldb.so from Xcode.\'@\n' % sys.argv[1]) + proc = subprocess.Popen(args=['xcode-select', '--print-path'], + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + (path, error) = proc.communicate() + if len(error): + path = '/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/Python/' + sys.stdout.write('msg=\'Could not run "xcode-select --print-path"@\n') + sys.stdout.write('msg=\'Using hardcoded fallback at %s\'@\n' % path) + else: + path = path.strip() + '/../SharedFrameworks/LLDB.framework/Versions/A/Resources/Python/' + sys.stdout.write('msg=\'Using fallback at %s\'@\n' % path) -proc = subprocess.Popen(args=[sys.argv[1], "-P"], stdout=subprocess.PIPE) -path = proc.stdout.read().strip() #sys.path.append(path) -sys.path.insert(1, path) +sys.path.insert(1, path.strip()) import lldb