mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 06:35:42 +00:00
servo: Merge #9062 - mach run --debug: Try using rust-gdb/rust-lldb if available (from antrik:rust-gdb); r=SimonSapin
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.) Note: I cobbled this together without *any* previous Python experience -- so if it violates three dozen rules, and only works by luck on my own system during a favourable moon phase, don't hesitate to suggest improvements :-) Source-Repo: https://github.com/servo/servo Source-Revision: 4e3a435450a8a5ee4293266296700bf1bc579f7d
This commit is contained in:
parent
d5d080413b
commit
d12793d02f
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user