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.)
This commit is contained in:
Olaf Buddenhagen 2015-12-24 02:12:44 +01:00
parent 9412e71460
commit f3cd5d2961

View file

@ -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