From f3cd5d2961d5493f17062562693608b73ced6128 Mon Sep 17 00:00:00 2001 From: Olaf Buddenhagen Date: Thu, 24 Dec 2015 02:12:44 +0100 Subject: [PATCH] mach run --debug: Try using rust-gdb/rust-lldb if available If the selected debugger (requested explicitly or detected by mozdebug) is gdb or lldb, use rust-gdb or rust-lldb instead, if it's available in the path and appears to be working. (This should usually be the case when using the default debugger on GNU/Linux or MacOS, as rust-gdb or rust-lldb is provided by the Rust snapshot in use.) --- python/servo/post_build_commands.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/python/servo/post_build_commands.py b/python/servo/post_build_commands.py index af290fea111..a119f2a2712 100644 --- a/python/servo/post_build_commands.py +++ b/python/servo/post_build_commands.py @@ -95,8 +95,17 @@ class PostBuildCommands(CommandBase): print("Could not find a suitable debugger in your PATH.") return 1 + command = self.debuggerInfo.path + if debugger == 'gdb' or debugger == 'lldb': + rustCommand = 'rust-' + debugger + try: + subprocess.check_call([rustCommand, '--version'], env=env, stdout=open(os.devnull, 'w')) + command = rustCommand + except (OSError, subprocess.CalledProcessError): + pass + # Prepend the debugger args. - args = ([self.debuggerInfo.path] + self.debuggerInfo.args + + args = ([command] + self.debuggerInfo.args + args + params) else: args = args + params